Welcome to MorphOS-Storage, a webserver dedicated to MorphOS users. ©2016-2024 Meta-MorphOS.org
Description:A sbar plugin to listen to WebRadios
Developer/Porter:Thomas Igracki
Readme:
Short: A sbar plugin to listen to WebRadios
Kurz: Ein sbar Plugin um WebRadios anzuh�ren
Author: Thomas Igracki
Uploader: Thomas@Igracki.de
Version: 3.0 beta
Type: util/wb
Architecture: ppc-morphos


A screen titlebar plug-in class to listen to internet radio stations streaming
using ShoutCast protocol in MPEG audio format (usually MP3, MPEG-1 Layer III)
*Note* that it cannot decode other stream formats like Ogg Vorbis, WMA or AAC+

It's based on CgmRadio v2.0 from Grzegorz Kraszewski. Thanks Krashan!

If you click on the WebRadio icon in the screenbar, you can choose to start
audio streaming/playing by selecting a station from the pop-up menu.

You can also record the current station you are listening to by selecting the
"Record" option from the pop-up menu.

** Legality Notice **
It is advised that you ONLY RECORD streams if this is allowed!

It's also possible to stop playing or play another radio station while still
recording that initial stream!

The path where the recorded stream is saved to, can be changed in the screen
titlebar settings (right-click on the top-right screen depth-gadget, select
Preferences or Settings). The default path is RAM:.

There is a default radio station list to get you started, which you can edit
by choosing the option "Edit Stations" from the pop-up menu item.

Selecting the "Stream info" menu item opens a window with information about
the current radio stream.
By opening the Title's popup-list and pressing the right mouse button a
context menu opens where you can search for the selected title on the web
(https://www.youtube.com) with your standard browser or clear the list.
Or just click the Title gadget itself to search for the current title.

There is now also an ARexxPort available to control WebRadio from scripts.

ARexxCommands for WebRadio (portname is WEBRADIO):
==================================================

HELP
- show this help text

PLAY STATION/F, NEXT/S, PREV/S, LAST=LASTUSED/S
- start playing STATION, NEXT/PREV will play next/prev station (loops at
the end or beginning!)
LASTUSED will play last used station (the station before stopping)

REC STOP/S,INFO/S
- toggle recording from the currently playing station
- STOP stops the recording
- INFO shows information about the currently recording station (if any)

STOP
- stop playing

MUTE
- mute/unmute

GET TITLE/S, STATE/S, STATION/S, LIST=STATIONLIST/S
- get the current title, state (Playing, Stoped, Recording), station name
or station list


INSTALLATION:
=============

Just copy the contents from the "SYS" folder to your SYS: partition manually,
or execute/double-click the "Install" icon file to do this.

Then by right mouse-clicking in the top-right screen depth-gadget, select the
option Modules>Rescan or just reboot your system.
Note: This is only needed if you install by hand!


WEB
===

- Please visit http://www.igracki.de to checkout my other software and/or
make a donation.


THANKS TO
=========

- Neil Pearson for proof-reading and testing
- jPV for disclaimer text;)


DISCLAIMER
==========

This software is made available to you as Freeware and you may use it in
whatever way you wish, but the author accepts no liability for any damage
caused to your system or other connected peripherals by using this software.


TODO
17-Aug-2021
LtAddGroup(): do a MakeDir in STATIONICONS directory
and when editing a GroupName or Icon also rename the directory and the icon...
also edit the iconname of ALL children of that group...

16-Aug-2021
EditStations:
- If an icon is still a url, ask the user to download and scale it
- Remove should also remove the icon!
- When downloading an icon, change the suffix to png if neccessary
- add a way to check if there are any unused icons around...

16-Aug-2021
When moving an entry in EditStations also rename the icon to the new location
NOTE: if you don't save the list after moving entries to other subdirs,


HISTORY:
========
12-Dez-2021
chg: adaption to new csv format

24-Aug-2021
chg: don't delete the icons, move them to
SYS:Data/Screenbar/WebRadio/StationIcons/.trash/
fix: SearchStations: if no criteria were given, codec wasn't set to mp3 only

16-Aug-2021
chg: EditStations: only rename/move the icons if you save the list
new: ARexx: if the PLAY command didn't finds the station it tries to find it
w/o the subdir name
i.e. "Play Radio Paradiso" if the stationname is "Radio/Radio Paradiso"

15-Aug-2021
new: EditStations: when adding a new station from the SearchWindow, the icon
will be downloaded, scaled to 32x20 and saved to the correct path
new: EditStations: moving an entry automatically renames the icon too!
So be sure to save the list after moving entries to other subdirs!

26-Jun-2021
chg: don't set the envvar WebRadio_LastStation when testing a station
chg: use "_empty.png" (a 32x20 alpha png) if the station icon doesn't exists
chg: SearchStations: convert the languages to lower case
chg: SearchStations: convert the countries first char to upper case the rest
to lower case

02-Jun-2021
chg: SearchStations: Aborting the download, now displays already dowloaded
stations instead of showing an error
chg: SearchStations: Url column is now hidden as default
fix: SearchStations: if no criterias were used, limit didn't worked

31-Mai-2021
new: EditStations: added support for limiting the search result

23-Mai-2021
new: EditStations: a "Test" button for test hearing the current station
new: SearchStations: a "Test" button for test hearing the current station
fix: SearchWin: add support for double double-quotes and very long lines in
the downloaded radio station list
fix: don't close the EditStations window if another screen gets closed
fix: don't close the StreamInfo window if another screen gets closed

17-Mai-2021
new: a SearchWindow to search for radio stations, powered by radio-browser.info

14-Mai-2021
fix: EditStations: enable the Apply-Button, if you move one entry up/down
fix: the first station couldn't be started
new: added minimal support for m3u urls. The first url found will be played

09-Mai-2021
chg: EditStations: the name of the imported listnode changed from "Imported"
to the name of the file

02-Mai-2021
chg: EditStations: window width/height will now defaults to 40% of the
visible screen area on first start

29-Apr-2021
chg: don't open the PopupMenu while we are in connecting phase
chg: if connecting takes too long, you can abort by pressing RMB over the icon

18-Apr-2021
chg: EditStations: rewrote ListtreeMoveUp/Down, should work better

13-Apr-2021
fix: EditStations: group icons weren't shown in the PopupMenu
new: EditStations: also show the iconname for a group entry
new: EditStations: show the icon on the right side

05-Apr-2021
chg: EditStations: adding a group if the active entry is a closed group,
adds the new group right after the current entry, instead of opening it
and adding it at the bottom
chg: EditStations: adding a station if the active entry is a opened group,
adds the new station at the head instead of the tail of the group
fix: EditStations: Apply could create a wrong PopupMenu

04-Apr-2021:
fix: multiple sub groups didn't worked, should work now

03-Apr-2021:
chg: Don't close the StreamInfo window, if you change a station
new: Automatically choose images for the group names from the parent dir
of the station icons
You have to put the images of the stations in a subdir, then the group
will get the icon of the parent dir as icon in the popup-menu

02-Apr-2021
fix: Move-Up/Down didn't worked if the prev/next was an empty listnode
fix: handle a too high number of Stations in the Stations.txt

31-M�r-2021
chg: addded PlaceHolder strings for the string gadgets in the StationEditor

25-Jan-2021
fix: calling an arexx cmd w/o arguments, causes a mungwall hit
fix: stations which started with a number (i.e. 80er), were treated as an
index number in the PLAY arexx cmd
chg: now the PLAY arexx cmd ignores the case of the station names

24-Dez-2020
new: added arexx cmd "REC STOP/S,INFO/S" to control recording via arexx

23-Nov-2020
chg: the "Load..." button can now import stations from a custom list
fix: disable the "Apply" button after applying entries to the popup-menu

08-Nov-2020
fix: submenus weren't removed, after re-loading the stations ("Load" button)
fix: the "Load" button just removed menuitems not disposed them, sorry;)

07-Nov-2020
new: stations can be grouped in submenus, simply use "/" inbetween names,
submenus are automatically created, f.e. M1.FM/Charts
TODO, use a listtree in the StationsEditor
[suggested by Stefanos Karousos]
chg: the http stream process now is now named "WebRadio HttpStream"

01-Nov-2020
fix: recording a stream while playing didn't updated the current title
fix: make sure the RecStation-Icon fits in the str-gadget (StreamInfo)

29-Okt-2020, v2.3
fix: fixed a crash when quitting Wayfarer on an own screen

31-Aug-2020, v2.2
chg: changed the "Connecting..." bubble to show the station name

30-Aug-2020
fix: if a connection takes longer (several seconds), the sbar could freeze
fix: don't close the connection bubble if user opens the popup-menu
fix: update the state of the sbar icon before connecting
fix: if the Stream-Info window was open while connecting to a new station
which takes longer to connect a freeze could happen
chg: the "Failed to setup" req now contains additional information about why
it failed (http error code and response code)
fix: the arexx PLAY command now shows correct state while in connection phase

24-Aug-2020,
fix: If a stream name started with "http/https", recording of it failed
fix: The Edit-Stations window could throw some "Notify_SET: invalid obj" hits
new: if the sample-rate or channels isn't specified in the MetaHeader get
them directly from the output stream

07-Aug-2020, v2.1
new: added arexx cmd "PLAY LAST=LASTUSED/S" to play the last station again
before you stopped playing.
The last played station is stored in the envvar "WebRadio_LastStation",
so it survives a reboot and you can hear it again the next time
chg: you don't need to use quotes anymore for the PLAY command if the
Stationname contains spaces (STATION is now defined as STATION/F)
fix: the title returned by "GET TITLE" also contained alt-spaces
fix: the station names contained alt-spaces chars to prevent splitting the
name in the bubble, so you couldn't easily use a stationname with
spaces in "PLAY <Station>", if you don't knew it.
The alt-spaces in the stationnames will be converted during loading!
[06-Aug-20: reported by jPV]
fix: if an arexx command returns 5 (WARN), no result string was shown,
now I prepend the string with "Warning: " and return OK
chg: the STATION arg in the PLAY command can also be a number (cnt from 0!)
fix: invoking a PLAY NEXT/PREV while connection phase will be ignored (could
lead to a freeze!)

06-Aug-2020
fix: sometimes the ARexx commands weren't received, the program which sends
them seemed to hang, I'm using a own process for this now
[04-Aug-20: reported by jPV]

02-Aug-2020, v2.0
new: added an ARexxPort (see above for the commands)
chg: the StreamInfo window is now automatically created on startup, so the
titles played before opening the StreamInfo window the first time are
also included

08-Mai-2020
chg: compiled with gcc v9.3.0
fix: if the icy values icy-br or icy-sr were at index 0, they were shown as
"Unknown"
fix: the "Station:" and the "Title:" text will be clipped if its wider than
the window
new: show the bitrate, samplerate and number of channels in the "Station:"
text field

02-Apr-2020
fix: changed RadioParadiso stream url, the old didn't worked anymore

23-Feb-2020, not released yet
new: now you can mute/unmute by right clicking over the sbar's image

10-Jan-2020, v1.11
new: draw a "X" over the sbar's image if sound is muted
new: added a Mute menuitem to mute the sound
fix: removed some debug out in WebRadio_UpdateBufferLevel()

24-Nov-2019
fix: resize the Station str-gadget (StreamInfo window) for the station icon
new: added a shorthelp to the title gadget in the StreamInfo window to inform
the user what happens if he clicks on it

25-Okt-2019,
fix: don't clear the titles list from the StreamInfo window if another screen
gets closed
fix: if you first open the EditStations window on one screen then open it on
another screen, the requesters were opened on the other screen

02-Okt-2019, v1.10
new: now you can also click the Title gadget in the StreamInfo window to open
the browser and search for the current title in www.invidio.us
chg: the Update button and the HTTP-Header listview can now dissappear, if
the window gets too small, this is usefull if you only want to see the
Listening (and Recording) group
fix: reloading the screenbar in the InstallScript now works with MorphOS 3.12

01-Okt-2019, v1.9
new: added a context menu to the titles list in the StreamInfo window,to open
the browser and search for the selected title in www.invidio.us
chg: removed the ClearList ("x") button in the StreamInfo window, and added
a "Clear list" entry to the new context menu

12-Aug-2019
fix: if recording stoped, the sbar icon was showing the wrong state

03-Aug-2019, v1.8
fix: forgot to put the fixed downloader script into the archive
new: display the bufferlevel of the playing stream in the StreamInfo window
fix: update the StreamInfo window if you start/stop recording
fix: removed the text gadgets in the StreamInfo window from the cycle-chain
new: added a UpdateCheck menuitem

02-Aug-2019, v1.7
new: udpate the title in the StreamInfo window if the title changes
new: update the StreamInfo window if you switch the station
fix: fixed a hit if you switch a station or close a screen, if you had the
StreamInfo window opened before
chg: the Title gadget in the StreamInfo window is now a poplist which contains
all played titles

31-Jul-2019, v1.6
fix: (hopefully) fixed the mouse-freeze bug if you switch the channel, while
the "Listening to..." bubble is open, by closing the bubble before
opening the popup-menu
chg: while connecting to a station all menuitems will be disabled
chg: the 20 pixels sbar icon now has one empty line at the bottom, this looks
better if the screenbar is exactly 20 pixels height

24-Jul-2019, v1.5
chg: getting the recorded filesize is now done with Dos.Examine64(), because
MMA_OutputBytes can take several seconds!
This fixes the delay while recording and displaying the shorthelp or
update the stream infos in the StreamInfo window
fix: removing the sbar while the "Listening to" bubble is open, could crash

21-Jul-2019, v1.4
fix: the prefs page had a fixed width
chg: the New-Version-Bubble now shows "WebRadio.sbar" in the first line
fix: the "Listening to.." bubble now appears on the current screen
fix: fixed two "dead obj in pushstack" log msgs on cleanup
chg: the shorthelp now shows if there is a new version available

15-Jul-2019, v1.3
fix: fixed some deadlock when changing the radio station
new: 60 seconds after startup a UpdateCheck is done

10-Jul-2019, v1.2
chg: changed again some internals to handle lost of internet connection while
playing seems to be working now!

02-Jul-2019
chg: changed again some internals to handle lost of internet connection while
playing still not finished yet

01-Jul-2019
fix: changed some internals to prevent hanging of the screenbar if you are
going offline while playing a stream
[xx-Jun-19: reported by Neil Pearson]

30-Jun-2019
new: show the current station/state/metatitle in the StreamInfo window
new: show recording infos in the StreamInfo window
chg: changing to a new state (play, stop, rec) is now "animated"

02-Jun-2019
chg: there is now only one bubble at a time visible, no more overlapping
bubbles only the "Listening to .." bubble can coexist

06-Mai-2019
fix: stopping of the recording stream wasn't recognized, if the you are not
listening to any station
fix: convert any ":" or "/" in station's name to "_"

01-Mai-2019
fix: the recording bubbles were only shown on the first screen not the current
and so the color of sbar icon wasn't refreshed correctly on other screens
Note: it could still occur that the color stays green (until next redraw
of the sbar icon), if you switch the screen after you stopped recording
but before recording really stopped!
Just force a redraw by f.e. clicking on it, switching screen or so.
new: if a word in metainfo-title has two successive uppercase chars, convert
the rest of the word to lower case (Berliner Rundfunk uses all upper
case chars!)

26-Apr-2019
chg: changed the way to recognize if the record-stream stopped (faster)
chg: now check every 3 seconds for a new metainfo

21-Apr-2019
fix: this sbar should be now more robust, when closing screens while playing
or recording

16-Apr-2019
fix: if you change the station, but the new station fails to play, the color
of the icon wasn't correct
chg: checking metainfo and testing if the playing/recording stream stopped
is now done in a slave object, so it doesn't blocks the screenbar
because checking if the recorded stream stopped takes several seconds
chg: starting/stoping the recording stream is now done in a slave object, so
it doesn't blocks the screenbar

15-Apr-2019
fix: the detection if the recording stream stopped didn't worked
chg: the format of the date in the recorded filename is now "dd-mm-yy",
because f.e. in the UK, the date format is "dd/mm/yyyy", and "/" isn't
allowed in filenames
[15-Apr-19: reported by Neil Pearson]

14-Apr-2019, bumped to v1.0
chg: the format of the date in the recorded filename is now the default for
your locale, not (yy-mmm-dd)
new: while recording, the ShortHelp now shows the time the recording started
chg: changed the way to retrieve the MetaInfo
new: while recording, the ShortHelp shows the filesize of a recorded stream
new: recognises if the playing or recording stream has stopped

11-Apr-2019
new: added a prefs item to en-/disable display of the metatitle
chg: removed the ID3tag.demuxer object, as MMETA_TITLE is now available from
shoutcast.demuxer
fix: if you change the name of the currently playing station and then press
"Apply", the menu item of that station wasn't then disabled

10-Apr-2019
new: added two prefs items to enable changing the colour of the icon while
playing and recording

09-Apr-2019
chg: the "Stream Buffer n" task is renamed to "WebRadio Play StreamBuffer"
chg: the "Audio Output n" task is renamed to "WebRadio AudioOutput"
chg: the "Stream Buffer n" task for recording is renamed to
"WebRadio Rec StreamBuffer"
chg: the "File Output n" task for recording is renamed to
"WebRadio Rec FileOutput"
chg: raised the "Stream Buffer" tasks priority from 0 to 1
(proposed in the autodocs for realtime buffering)
chg: raised the "File Output" tasks priority from -1 to 1
(proposed in the autodocs for realtime buffering)
fix: global current metatitle is reset when changing to a new radio station
new: the Name sting gadget is activated after pressing the "New" button
fix: forgot to dispose of the Play objects after stopping, which is not so
problematic, as they were disposed at the end or when playing restarted
fix: if you remove the sbar while metaTitle bubble is open, it wasn't closed

07-Apr-2019
- new: A check every 5 seconds is done to find if a new MMETA_Title is in the
stream, if yes it is shown in a "bubble"
- fix: the MetaTitle bubble will be shown on the current screen
- chg: the current MetaTitle is now also shown in the ShortHelp bubble
- chg: the filename of the recorded stream now gets the time and date appended

06-Apr-2019
- chg: the list entries of the StationsList are now changed while typing not
only after pressing RETURN
- new: the Shorthelp bubble now shows which station you are listening to and
also from which station you are recording.

05-Apr-2019
- new: added a id3tag.demuxer object to the pipe, but it seems so that the
shoutcast.demuxer has the same MetaData!?

04-Apr-2019
- fix: the Shorthelp-bubble of my sbar is now the same an all screens
- fix: the sbar image on all screens is now recolored if the state has changed
(stopped/playing/recording), not only on the active screen

03/04-Apr-2019, bumped to v0.9
- new: added recording of the station you are currently listening to!
- new: added a prefs item for choosing the path where the recordings are saved,
the filename is the name of the radio station
- new: while playing the titlebar image is green!
- new: while recording the titlebar image is red!

05-Dec-2018
- new: the station-list is now drag sortable
- fix: the string gagdets are disabled if no station is selected

28-Sep-2018
- the screenbar image is now automatically converted to negative, if the
background is dark

19-Aug-2018
- changed column order in the Edit Stations listview, now "Name, Icon, Stream"
- the value for the attr "ice-audio-info" seems to be a little different than
for "icy-audio-info", I use this template now "ice-channels=channels/A/K/N,
ice-samplerate=samplerate/A/K/N,ice-bitrate=bitrate/A/K/N"
- if there is no "ic(e|y)-audio-info" attr, use "icy-br" and "icy-sr" for the
"connected" bubble
- delete the "connected" bubble before showing the "connecting" bubble
- added a StreamInfo window, to show some icy attributes of the playing song

17-Aug-2018
- A "connected" bubble is displayed with the name of the station, samplerate,
bitrate, and number of channels!

15-Aug-2018, bumped to v0.5
- "New" doesn't add the new entry AFTER the current or at the end if there is
no entry selected
- the new entry will be selected
- MM_WebRadio_StationsSave now saves the entries from the listview NOT the
internal stations!
- added "Apply" button to re-create the pop-up menu and internal stations list

...
08-Jul-2018
- put the Channels prefs in its own window, not in SBar prefs - not finished!

10-Jun-2018
- added showing a bubble while connecting

28-Mai-2018
- added some gfx for the sbar (sys:Data/Screenbar/NetRadio/NetRadio_xx.png)
- added (hardcoded) support for the station image in the pop-up menu
(sys:Data/Screenbar/NetRadio/StationIcon/xxx.png)

..

xx-May-2018
- started to merge example_sbar.c and cgmRadio.c into NetRadio.sbar

Upload Date:May 31 2023
Category:Ambient/Screenbar
Download:WebRadio_3.0.lha
Md5:4ce249346e57e40bde9979eb81320992
Size:263 KB
Downloads:110
Screenshot(s)
 
History
WebRadio_2.3.lha
Last Comments