 _____                 _   _      _   
|_   _|   _ _ __   ___| \ | | ___| |_ 
  | || | | | '_ \ / _ \  \| |/ _ \ __|
  | || |_| | | | |  __/ |\  |  __/ |_ 
  |_| \__,_|_| |_|\___|_| \_|\___|\__| OS4 
  
  Alpha Release                      V0.84.72 ©2004-2006
                               __/\__
__/\__                     _   \    /  
\    /        __/\__      (_)  /_  _\
/_  _\        \    /             \/
  \/          /_  _\     _        
                \/      (_)          
     __/\__
     \    /     _        Coding, Concepts and Hardwork ... Paul Heams 
     /_  _\    (_)       Docky Graphics and Skin FX Ideas. Russell Glover
       \/                Additional Third Party Plugins .. Per Johansson
                                                        .. Curtis Holborn
                                                        .. Chris Young
                         Testing / Feedback and misc GFX . Spot / Up Rough
                         AISS System and Icons............ Mason
==============================================================================
                                Listen and Enjoy!
==============================================================================

NOTE : This is a beta version of TuneNet. This means that although robust in
testing it may still cause problems!


Brief: This Version
===================
1/ Better Reaction GUI with keyboard, more info and AISS GFX support.
2/ Support for non threadsafe plugins! :)
3/ Enhanced encoder facilities with new AIFF encoder! 


Disclaimer
==========
Please note that TuneNet is entirely my own work and is copyrighted to me. I
cannot, and will not be held responsible for any 3rd party plugin that may
appear to break any type of Licence agreement.


About
=====
TuneNet is an music player and streamer tool for use with MP3 files and MP3
streaming technology like shoutcast. It has been designed to work with Amiga
Browsers, Workbench and a Shell offering a quick and easy way to play music.

As of V0.64 TuneNet can support external plugins.

As of V0.66 TuneNet can also be used for recording purposes.

As of V0.68 TuneNet now supports Tune Time Positioning, playlist sorting /
editing / searching and new docky displays.

As of V0.69 TuneNet supports a drag and drop docky along with improved
docky animation / reactive buttons.

As of V0.70_ny TuneNet supports relative file paths in playlist files (m3u)
and is able to load playlists via "Drag and Drop", the Docky Interface,
Open Media Menu and Workbench (under def icons). 

As of V0.74 TuneNet can now support multiple streams (up to 16, but only 4
enabled in this version! :D).

As of V0.76 TuneNet is able to broadcast and encode music whilst playing.

V0.78r5 introduces radio station saving in playlists.

V0.79 introduces frequency and waveform visual scope support with AmigaAmp
compatibility.

V0.80 BB4 demo version (Not released) introduced a skinable interface for the
first time (but is currently held back in the release version). New listview
fields, new skinable gadgets and wheel mouse support.

V0.82 has enhanced Daemon Mode and CLI options for controlling the playback
from other programs. It also supports Non threadsafe plugins for the first
time.

V0.84 introduced better encoding facilities, and better keyboard control
on listviews.

Requirements
============
* OS4.0 (Final Release)
* OS4's Network stack (the streaming is not compatible with Miami under OS4)
* pthread.library V1.4+ (available from OS4 Depot) 


Recommended
===========
* The standard MPEGA.library that all Amiga's use if you want to hear any
Shoutcast or MP3 files.

(68K versions of the mpega library require the necessary library glue code)

* Any other plugins for Music Playback.


SPECIAL NOTE:
=============
* Please note the "-browser" option required for launching TuneNet from
browsers (Ibrowse etc..). See browser config below.

This hasn't happened for ages now, but if the GUI or program appears to
crash or does not respond open a new shell and type:

break name TuneNet
==============================================================================


Installation
============
Copy TuneNet to where ever you like and follow the instructions below.
To use the plugins you must have a directory called "plugins" in the same
directory as TuneNet. To use the Docky interface makes sure that DockSkins
directory is also in the main TuneNet path. This must contain at least one
skin called "default".

If you have run a previous version of TuneNet prior to running this new
version please either reboot the machine or open a shell and type:

avail flush

Then, when ready Double Click the Icon to start!


Playing
========
You can play tunes in a number of different way, from your Web Browser,
Workbench (Main App / Docky Skin / App icon) or Shell. (See below).


Configuring IBrowse (optional)
==============================
1/ Go to the Preferences / Settings from the main menu.
2/ Open up General and select Mime Types.
3/ Add or alter the following entries:

A/
MIME Type: AUDIO / X-MPEGURL
Extension: pls
Action: External Viewer
Viewer: c:TuneNet
Arguments: -browser -p5 %f

B/
MIME Type: AUDIO / X-SCPLS
Extension: pls
Action: External Viewer
Viewer: c:TuneNet
Arguments: -browser -p5 %f

4/ Press OK.
5/ Select Preferences / Save Settings from the menu.
6 Quit IBrowse.


Playing From Workbench
======================
TuneNet will run by clicking it's icon. However, you may want to associate MP3
files to TuneNet by following the instructions below:

1/ Open the prefs drawer from the system partition and double click
DefIcons.
2/ Locate the Music-mp3 entry and double click it. The icon window will now
appear.
3/ Select the second tab (Icon) and change the default tool to SYS:C/TuneNet
   (or the appropriate path).
4/ Hit Save and then Save again.

NOTE: The default pattern matching within the OS4 pre-release does not correctly
identify all mp3's. To fix this change the Actions section (within deficons) to the
following:

PATTERN #?.mp3
OR
MATCH \xFF\xFB (Case Sensitive)

You should now be able to simply double click an MP3 icon to get it to play.
Double clicking another icon whilst the program is playing will force the new
tune to load.

If you use this method and turn off all available GUI's (Docky and Main App)
you will notice that TuneNet will play in the background. To stop
the current tune simple launch (double click) TuneNet again on it's own. If
you then launch TuneNet for a second time in succession, it will force the GUI
to display; this is to prevent the GUI being locked out.

NOTE: PLS icons from workbench are NOW supported! :-D

Using the Record Feature

TuneNet is now able to create recordings from Shoutcast and Supported Plugin
streams for future playback. The format of these recordings depend on the type
of music stream you are playing, for instance an MP3 Shoutcast stream will
save as an MP3 file.


Broadcasting - Overview
=======================
If you would like other people to hear your music and you have access to
a Shoutcast compatible server, TuneNet is now able to broadcast with an
appropriate plugin.

At the time of writing 1 Encoder plugin is available, the LAME MP3 encoder,
which will encode your music as an MP3 stream.

To set up broadcasting follow these instructions:

1/ Download the plugin (from OS4 Depot or www.tunenet.co.uk) and put it into
the TuneNet/Plugins directory.
2/ Restart TuneNet.
3/ Go to Preferences / Radio / Broadcast and select the Encoder from the list.
4/ Specify the broadcast quality underneath.
5/ Type in the address, port and password of the server you wish to broadcast
to.


* To start a broadcast select the Broadcast tick from the edit menu.
  A flashing "AIR" light will tell you that you broadcasting.

* To stop a broadcast de-select the Broadcast tick from the edit menu.
  
NOTE: If you change the encoder options (quality etc..) they will only
take effect after restarting the broadcast (turn off and back on again).


DISCLAIMER
==========
I will take no responsibility for the broadcast of illegal, or copyrighted
matererial. The content you broadcast is YOUR responsibility. TuneNet is a
tool, use in wisely.


Recording - Overview
====================
There are 3 available options for recording:

1/ Simple Stream Recording
2/ Encoded Recordings using settings available from the Broadcaster
   (Useful if you want to save the stream you broadcast without any added CPU
   overhead).
3/ Encoded Recordings using independent Encoder settings to that of the
   broadcast

By default option 1 (Simple Stream Recordings) is enabled to allow you to
record Internet Radio with very little CPU overhead. The two Encoder settings
allow you to record anything you play, but require more power! If you are
going to use Encoded recordings please consider using option 2 first which
uses the same encoder to that of the broadcast facility (found under the
Radio / Broadcast tab). This way you are able to both broadcast and record
using one encoder.

Starting a Recording
====================
Recording is as simple as selecting the "Record" item from the "Edit" menu.

Once this has been selected recording will start when you play a stream, or if
you are already playing a compatible stream it will start immediately. The
indicator "REC" will flash on the right hand side of the status bar to show you
that recording is underway. 

Pressing the "Stop" button will show the recording as a file in the Recordings
Directory (Drawer) which is found in the same directory as the TuneNet
application. The file will be marked as a "Stream" followed by date and time
stamp and the extention of the format. For example: 
"Stream-2005-10-04-183025.mp3".

Pressing the play button again or selecting a new stream will create a new
file in the "Recordings" directory, meaning you can record one stream after
another.

To stop the current recording and subsequent stream recordings untick the
"Record" item in the "Edit" menu.

NOTE: The recording files are only visable once the stream has finished
recording and the Stop or Record item have been selected. (Remember to select
"Show All" from Workbench in order to see the files).

Once a recording has been made you are free to copy or rename the file as you
please.

If you run out of disk space while recording the recording system will turn
itself off - Please make sure you have enough space available.

DISCLAIMER
==========
I will take no responsibility to the content that you record with TuneNet.
It is your responsibility to ensure that you are legally able to record
the Internet stream or local content.


Music Directories
=================
Opening and Drag'n'dropping Directories

If you drop a directory onto TuneNet or Select a directory to open from the
requester you will be asked how you would like to open the files within the
directory.

Add Contents - Just adds the files of the selected directory. 

Add Contents Recursively - Add files from the selected directory and any
following directories. (This may take some take to complete depending on
number of directories the system needs to scan).
  
Cancel - Ignore the Request.

NOTE: Files are only added if they identified as valid audio files, this is
also dependent on the plugin players.


Playlist Editing
================
Simple playlists can be loaded and saved using the appropriate functions
in the Project Menu. 

Sorting the playlist can be achived by clicking the list headers. To make the
change permanent you can select the "Reorder Playlist" facility from the
"Right Arrow" button menu.

You can also edit the playlist (move items / delete items) by selecting the
"Edit Functions" from the "Right Arrow" button menu in the playlist tab.
Whilst in Edit mode you can't sort, return to the "Find" view to do this. 


Playing from a Docky
====================
TuneNet is now able to use a small skinable docky interface which has many 
of the features of the main GUI (and some extra!). The default docky contains
the following functions, but other dockys may have more or less functionality:

* Play, Pause
* First Track, Previous Track, Next Track, Last Track
* Stop, Open
* Mute
* Record
* Time Position Slider
* Volume Slider.
* Drag and Drop support (Last minute fix allowed this to happen!)

To enable the docky select the "AmiDock Display" from the window menu.

To enable it on startup please select the option from the look tab in the
preferences.

3 Skins are available in the standard archive, all drawn by Russell Glover.
They may be selected in preferences by selecting the directory to the skin.

The skins: 
----------
1/ Default
Fully featured docky with record and mute support.(Fallback docky).

2/ WhitePod
A small docky ideal with basic playin facilities.

3/ BlackPod
As above, but in black.


Playing from a Shell
====================
Type: 

TuneNet ? 

for a list of options.


Options
=======
-playlist:	Requests TuneNet to play from a playlist (.m3u) file.

-browser: 	Forces TuneNet to cache the PLS file it receives from the browser.

-stream	: 	TuneNet will attempt to pick up an MP3 stream at the given http:
          	address.

-load	: 	Preload the MP3 to ram before playing

-v		:	Verbose output (Useful in shell mode)

-p		:	Change the main task priority.

-nogui	:	Overrides preferences and disables the main GUI! :D

-nodock	:	Overrides preferences and disables the docky display.

-daemon	:	Runs in the background (No GUI or Docky in this mode)*.

Enhanced Daemon Mode and CLI Options
====================================

-stoptune    Stop the current tune
-restarttune restart the current tune
-pausetune   Pause toggle
-addtune     Add tune without playing
-nexttune    Next tune in playlist
-prevtune    Previous tune in playlist
-nexttrack   Next track (sub-song)
-prevtrack   Previous track (sub-song)
-quit        Kill TuneNet Processes


* Note all resources are freed when a song isn't playing, which means it will
not hog the audio channels when not in use. If you want to play TuneNet along
with other apps running please select the "Unit 0" output mode in the
main AHI requester box.

Note: To set the default preferences easily run the main application with
the GUI once and use the preferences window. Starting from the command line
after this will use your preference set.

Examples
========
TuneNet mymusic.mp3
TuneNet listen.pls
TuneNet -stream http://somemusicstream:8080
TuneNet -nogui mymusic.mp3
TuneNet -playlist mylist.m3u
TuneNet -nodock -nogui somemoremusic.mod

Daemon Mode
=============
From CLI type:
	
	run TuneNet -daemon

..this will run the system in the background and you can now launch any song
by typing:

	TuneNet <songname>

..causing the CLI to return immediately.

To kill the daemon type:

	break name tunenet

..or use the included Kill TuneNet script.


Tweaking (Advanced Users) 
=========================
Some confuguration settings for TuneNet can't be set in the main application,
this is to prevent problems from occuring. If you know what you are doing then
you can set the following values in the TuneNet/Realtime envarchive :

>GUI always off<
To remove the GUI fully always (no app icon or main app) set the "nogui"
option to 1. ..to enable it's use again clear this option.
This option is the same as issuing the -nogui switch from the command line and
is useful if you just want to hear music you double click from workbench

(If you want to make sure that the docky doesn't start up you can use the
preferences to turn if off, or clear the "dockystartup" env-var).

As of V0.70a the above option is now available in the main GUI thanks to
the protection against GUI lock out that has been built into TuneNet.


History
=======
V0.84.(72) - Alpha
* Fixed filename buffer corruption on auto save / load playlist
* Fixed crash on MP3 library missing.
* Fixed decode mode allocation for listers, which was always 3 bytes short.
* Fixed order in cleanup functions.
* Fixed docky lockup issues on OS4 Final (now a requirement because of this).
* Fixed Version string.
* Added AmiUpdate support.
* Added basic support for converting unicoded MP3 tags to original ASCII.
* Added basic info window (more to come).
* Started to add support for multi-threaded DB accesses.
* Added priority switch (Passive) in plugin API / TuneNet

V0.84.(64)
* Encoder functions (API) enhanced again, checks added to exclude older
encoder versions.
* New AIFF encoder added to the AIFF plugin.
* Harddisk Record now starts as soon as possible, which means selecting the
record option before playing ensures you will get the very beginning segment
of the tune.
* Instant search facilities and keyboard control on listviews.
* Encoder prefs enhanced to dynamically show the encoders quality modes.
(Lots of potential functionality added to the modes, but hidden behind some
hurried code at the moment!)
* Fixed bug whereby scopes wouldn't work in Dock / CLI only mode.
* Restricted docky volume sliders to 100% to preserve compatibility with
current skins.
* System now checks for the AISS system before attepting to load the Reaction
button images when in graphical mode.
* Grabs Up to a 1000 Stations (500 more than before).
* Improved speed of sorters on listers.

V0.82
* TuneNet now saves the last playlist on exit and reloads it if started with
no playlist.
* Basic searching for standard MP3 URL's in order to stream.
* Trim functions added to station titles when streaming.
* Encoder functions enhanced and standard recording uses a better quality
setting.
* Non threadsafe plugins supported for the first time.

V0.80
* Local / Shoutcast tunename will change the playlist name
* Additional fields for playlist Time, Artist, Album, Genre, Play Count
* Volume Boost
* Shuffle Play
* Work started on the skinable player (Demod at BB4)
* Internet Radio shows type of stream and Bitrate
* Sortable columns are flexible for future choose your own columns
* Clear List added to Edit Menu
* AISS image support
* Not released

V0.79_3
* Fixed problem whereby shoutcast streaming audio title changes were not
picked up by the Scopes.

V0.79
* Added support for multiple AmigaAmp Scopes.
* Waveform and Frequency stats produced in the player @ 25 FPS.
* (Compiled Wide Spectrum for OS4).

V0.78r5
* GUI update "crash" bug found, code simplified and fixed.
* Playlist loading/saving updated to use extended M3U format.
* PLS files, browser cached files and internally cached PLS files are now
decoded and saved with the playlist.
* Some player internals changed.
* Stack sizes reduced for "Opener" tasks - was stupidly high before! :(
* Pause mode added to the Menu + shortcut (Right Amiga 'E').
* Bug fixed in my IDV32 synch integer function, the result is that IDV3 tags
in MP3 files will now display more information than before. :-)
* Fixed a 1 pixel extra space problem with the docky font.
* Added an FGAP keyword to the docky skin description file in order to space
the font correctly (the default skin has now changed in this respect).
* Newlib Compile (saves ~100KB).

V0.78r4
* Return key now works in URL Open, Playlist Find and Internet Search.
* Shortcut keys for open Requester
* Fixed bug whereby the Auto Mix would turn itself off when going to the
Tune Tab (was only present under a GCC 4.02 compile).
* Random search bug cleared (I hope). 

V0.78r3
* Shoutcast Site negotiation lengthend, due to it becomming erratic and slow!
The Shoutcast site can be very slow, so be patient.
* External signal breaks for all of my Networking Class (non blocking) socket
calls (if requested by the calling process).
* Sorted out the keyboard shortcuts and added some extra ones.
* Pause now works again in Docky Mode.
* DNS Timeout shortened slightly.

V0.78r2
* Fix for simple streams.
* DNS Timeout doubled.
* GCC 4.02 compile.

V0.78
* Disk Record Modes added (Simple / Use Broadcast Encoder / Own Encoder).
* Simple Play bug fixes (would crash with MODPLUG plugin at the end of files!).
* Gapless-Play made the default.
* Reworked stream/encoded save routines (both available at once now).
* Fixed the docky display context menu which was not working under update 4
of OS4.
* Removed Status Window in prefs for broadcast / streamback.
* Added Open URL window to the Menu.
* Some broadcast / record error messages added.
* Last minute bug fix to sort out the encoder selection crash!
(Thanks for the testing Per Johansson!).

V0.76
* Encoder plugin routines written.
* MP3 (LAME) encoder put together from liblame sources.
* Broadcasting/Encoder network routines coded.
* Broadcasting facilities added to GUI and Menu Bar.
* Fixed a problem with altered playlist entries not going to the correct tune.
   (Reported by Outcast)
* Repeat options added to main Menu (Repeat Song / Playlist).

V0.74
* Resampling and mixing routines added.
* PThread player routines replaced with tighter standard AOS processes.
* AHI play routines improved for playback.
* CLIB compile again!
* Sub Song support.
* Time bar now has player time shown.
* Left / Right channel mixer added.
* Plugin support improved for playing multiple streams.
* Minus values for play timer (can happen if song reports an incorrect size). 
* AutoMix and Plugin song AutoMix defaults
* Mute button on the Reaction GUI.
* QUE / X-FADE LCD added.
* MONO Simple play mode fixed.
* Panic mode added to player and CPU "de-zapper" for intense priorities and
CPU usage.
 
V0.70r2 (ny) - New Year Release (Tightening Up)
* MP3 detection improved (for use with the OGG Vorbis plugin!!! ).
* Double click on Plugin List added to get a description of the plugin.
* Docky D&D Send Message improved to fix problems with other dockies such as YAM.
* Playlist detection from WB / CLI / D&D (.m3u extension recognised).
* m3u files with comments are now handled.
* m3u relative paths now supported (great for files produced by CD Rippers).
* Playlist loading now silently checks for the playlist files existence before
(checking &) adding them to the list.
* New OS4 style Requester boxes added.
* Help "bubbles" can be toggled on or off from the settings menu and at
startup from the preferences.
* Fixed a bug in the Find routine which could give some false positives.
* MP3 Icecast support added (wasn't too difficult)
* http streams within m3u files now allowed.
* Improvements to stream recovery and forced restarts on buffer empty.
* Single streams specified from the cli "-stream" option or from m3u files can
now be saved along with the playlist.
* DNS timeout added to finally halt any long term network related lockups
(6 second time out by default).
* Blank URLS in PLS files are now handled without crashing the task.
* Spaces in URL's are now converted to %20

V0.70 - Christmas 2005 Release
* Playlist and File media verify added to preferences.
* AmiDock exit/preference cancel bug/feature/misunderstanding(?!) worked around. 
* Latest Docky Skins from Russell included.
* No GUI mode added to preferences (see Tweaking).
* Protection against GUI lock out added.
* Better default skin loading and fallback mode. 
* Fixed a docky receive app message bug.
* Packaged & Released. Enjoy.

V0.69 - (Internal versions i-v)
* Mute functions added.
* Volume control improved.
* Playback now smoother and less stuttery under heavy loads.
* Saving a playlists will now ignore cached Internet Radio stations to avoid
problems when loading back.
* Protection / Warning messages for incorrect docky designs.
* Drag and Drop docky.
* New Document, Open Document, Hide, Unhide, Preferences and Quit all work under
docky popup.
* Documentation updated.
* Preferences now includes a Task Priority slider.
* Record mode available from docky.
* Fixes to Open routines.
* External Plugins now updated to include a new type of render mode.

V0.68 - Christmas Release Pre-Release (Internal)
* Internal Release
* Docky Skin system written in mega quick time, from concept to working
   in no time at all.
* Docky Display added to the Menu.
* Default and bonus docky skins available, all drawn by Russell Glover 
  (Thanks! :)
* Additional Docky functions : Pause, Last and First
* Volume slider control and volume wave adjust added.
* Bonus Christmas music written years ago added to the archive!
* Look tab added to preferences, with docky skin selection and startup
options (App on startup / Docky on Startup).
* Playlist by default will not verify loaded media until it starts to play.
* TuneNet can now update changes to the song names / song types in the list
views when not previously verified.
* Internal changes and improvements.
* 11Khz mode remixed to 22Khz.

V0.67
* Internal Release
* Basic Save and Load playlist. (m3u - basic)

V0.66
* Internal Release
* Slider Support for Plugin System for those plugins that can support it.
	(Currently the MPEGA and AIFF plugins support this)
* Position Slider added to the Tune window.
* Open Button and changes to the way files are played.
	(Select tune and play button works as expected).
* Add Menu item to just add files (like drag and drop).
* ASL directory will remember the last DIR used.
* Play Panel GUI changes
* Wildcard find function in Playlist and Internet List.
* Edit functions (Up, Down, Top, Bottom, Remove and Clear) added to playlist.
* Two-way Alpha Numeric sorting on Pos, Track, Type for both the Playlist and
Internet Radio by clicking the list headers.
* GUI made smaller and neater.
* Default Media directory added to the Preferences Window.
* Underscore symbols are now printed correctly.
* Scan again crash bug squashed.
* AHI Selector fixes in the GUI.

V0.65
* Preview Release
* Stream File Saving - Supported by the Shoutcast MP3 Player so far.
* ASL File Requester with recursive directory loading.
* Directory drag and drop supported.
* Test Plugins - AIFF and Protracker (Very basic so far - don't expect much!)
* Fixed Lister de-allocation - could crash the machine D'oh.
* Plugin API: TuneNet Object allocations changed (version numbers reset to 1)

V0.64r1
* This revision 1 release makes sure that TuneNet will not crash if you don't
have the MPEGA player library installed. Installed like this you will not be
able to play MP3's or Shoutcast files, but you will be able to use external
player plugins.
* Plugin API implemented - though slightly messy at the moment.
* External Player detection at startup added.
* Basic MP3 file detection added.
* AHX plugin created for test purposes.
* Many bug fixes from the changes introduced in V0.62.
* Better stream names.
* GUI tidy up.

V0.62 - Never Released
* Basic IDV3 tag support (when playing back MP3 files).
* Better error messages when unable to lock onto a stream - should handle
instances where streams are full. 
* Big restructure of the code in order to support external plugins.

V0.60r3
* Finally (hopefully) found the condition where a "stream communication error"
could occur and corrupt the whole stream. It was all down to a thread/buffer
handling error where in certain conditions newly read stream data would be
ignored!
* Added the Auto Play switch for app icons. 
* Updated version string this time! :)
* Added more of the preferences GUI (Broadcast and Plugins still to come).

V0.60r2
* Network class updated: 
	Fixed - non blocking mode errors.
	Updated - Read, Send and Connect can handle both
			blocking and non blocking calls inernally now.
	Updated - The Socket Error area was not properly allocated.
	Fixed - Chunked Data decode has extra error checking for zero sizes.
* Calls to decode chunked data were actually the wrong size - ARGH!
	This caused the apparent empty stream effect.
* PLS data was nulled in the wrong place... sigh + also allocation was
   1 byte to little.. 
* Internal changes (Threads seperated)

V0.60r1
* Buffered Play
* Update GUI
* Chunked Data routine in Internet Radio grab caused crashes - fixed! 
* Fixed "Not Playing" ENV var issue when double clicking an MP3 from WB.
* New Preferences section allowing you to choose the AHI mode, buffers and
other items.
* NewLib compiled; slightly smaller exe file.
* Time counter toggle button for local MP3 files.
* Icon image used as App Icon.
* Added the internals to allow multiple streaming! - Yes this will have a use
shortly.
* Network Non-Blocking mode activated.
* Extra task added to handle network stream data.

V0.58
* Unreleased, new buffer play experiment.
* Fixed memory handling on most tasks to allow clean exits if things went
wrong.

V0.56
* Scan Slider now functions allowing you top grab up to 500 stations.
* Scan now requires 30 second pauses between grabs
(data is collected from Shoutcast.com. and we don't want to kill their
server eh!)
* Slight GUI improvements
* Simple song timer.
* Some small bug fixes.
* Music does not halt when RMB pressed on WB (what a lot of work... argh).

V0.54
* Structure totally changed. Now using the pthread OS4 library.
* Button bugs fixed.
* Shoutcast scan tab added 
(Scan is implemented when the GUI is run or the Scan Now button is pressed.
defaults to 100 stations currently)
* Grab URL PLS file routines implemented.
* Level Meters added.
* Tune information moved to Tune Detail tab.
* Next / Prev / Play and Stop buttons added.
* Ignores MP3 errors if it can.
* Smoother play.
* Daemon mode added.

V0.52
* Structure Swap, now using phread library.

V0.50
* Lockup bugs fixed
* Responsive GUI
* Kill TuneNet icon
* Timeout function on streams
* Repeating sounds now mostly replaced with silence.

V0.48
Playback mixing + frequency is now calculated correctly.
Playlist support.
App Icon support.
ENV Tune playing supported (env:TuneNet/playing)
(Put the current tune in your Workbench bar) 
Multi Icon click support.
Version string correction.
PLS switch not needed anymore (+ supported from icon).

Bugs
====
* The broadcast module will crash :( if the remote shoutcast server dies.
Will be fixed in the next version.

Thanks
======
* SpotUp - for being a compiler guru!
* Curty - For all the plugins
* Russell Glover - Docky Graphics.
* Per Johansson - Plugin Support and suggestions.
* Tomaz Kid, Red Melons and Sascha Pfalz for all the testing.
* The Frieden Brothers - for all the hardwork on OS4 and PThreads library.
* The AmigaWorld crew for their testing, feedback and comments.
* The Internet for allowing all this to happen!
* Juha Niemimaki for his AHXPlay Library (The first test plugin).
* klesterjr and Herewegoagain for the Icons
* Original PT Play sources by Ronald Hof, Timm S. Mueller and Per Johansson


Important Notices
=================
* Enjoy your hobby - don't moan! - you never know when it'll all end!

Recording
=========
I will take no responsibility to the content that you record with TuneNet.
It is your responsibility to ensure that you are legally able to record
the Internet stream or local content.

Broadcasting
============
I will take no responsibility for the broadcast of illegal, or copyrighted
material. The content you broadcast is YOUR responsibility. TuneNet is a
tool, use in wisely.
