lp:streamtastic/0.4

Created by mikeL and last modified
Get this branch:
bzr branch lp:streamtastic/0.4
Members of Streamtastic-Contrib-Dev-Team can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Streamtastic-Contrib-Dev-Team
Project:
Streamtastic
Status:
Mature

Recent revisions

59. By Joachim Lippold

pulled in changes from trunk for 0.4.1 release, increased version number

58. By mikeL

added turkish locale (tr_TR) by Zafer Güler
- merged with locale-integration-branch
- fixed import (StreamRipper.java)

57. By Joachim Lippold

Fix for Bug #355893

Streamripper versions prior 1.63-beta-8 are no longer accepted by the version detection algorithm.

56. By Joachim Lippold

fixes Bug #337756 and Bug #337805

Bug #337805:
Selection preservation through SelectionMaintainer was fixed. When a selected station is no longer present in an updated station list (after refresh, bitrate filtering or searching) the selection is now cleared.

Bug #337756:
The missinng key PLAY_SELECT_PLAYER_TITLE was fixed.

55. By Joachim Lippold

changeable look and feel (substance now optional), reworks on the GUI, busypane only blocks view instead of whole frame, some changes to the AboutFrame, small bugfix for IcecastFeed

The look and feel of Streamtastic is now selectable from the "Look and Feel" menu. The current selection is saved to the config file parameter "LOOK_AND_FEEL" which may be set to the values "Java" (cross platform look and feel), "OS" (system look and feel), "Substance" (Substance look and feel - Office 2007 Silver) or the class name of a look and feel which is available from classpath.
Most forms had been reworked and are now based on GridBagLayout instead of GroupLayout. This has some positive effects on other look and feels and makes it easier to offer a jre 1.4 compatible version of Streamtastic in near future. The unused status label was removed.
There were also some changes to the BusyPane. It now only blocks the affected view, so it is now possible to switch to another view while the active one is blocked due to list retrievals from feed servers. Error messages will be suspended until the view is made active again. Therefore the View interface was transformed to an abstract base class, which provides the Header component. Furthermore the ToolbarView (subclass of View) was added. It offers additionally a toolbar located at the bottom of the View.
The AboutFrame was redesigned. It is now undecorated and uses JTextPane instead of JLabels and JTextfields. The displayed text is now selectable and can be copied to the clipboard (especially helpful for the email addresses).
Last but not least there was a small bugfix for the IcecastFeed. A NullPointerException was thrown when stations for a no longer existent genre were requested.

-- StreamtasticApp.java modified
- removed substance imports (Streamtastic now also runs without substance.jar)
- LAF initialisations

-- DirectoryFeed.java modified
- new methods for icons and feed name, thus the DirectoryView needs nothing more to set up than a reference to a feed

-- IcecastFeed.java modified
- added icons and feed name
- bugfix for NullPointerException

-- ShoutcastFeed.java modified
- added icons and feed name

-- Config.java modified
- new parameter LOOK_AND_FEEL
- new method for easy retrieval of look and feel class name
- added mapping for short LOOK_AND_FEEL name values to class names (Java,OS, Substance)

-- AboutFrame.java modified
- removed header
- switched to JTextPane
- now uses GridBagLayout
- added hyperlink to project page
- frame is now disposed when it is no longer focused

-- SelectDestinationFrame.java modified
- uses JXHeader instead of GlossyPanel
- migrated to GridBagLayout

-- StreamtasticFrame.java modified
- reworked view initialisations
- added LAF selection menu and handling code
- changed frame icon to 16x16 version (looks a bit better when minimized to tray)
- removed status label
- busypane now only blocks affected view

-- BusyGlassPane.java modified
- removed MouseMotionListener
- made the pane focusable
- cursor set to "WAIT_CURSOR"

-- DirectoryPanel.java added
- content panel for DirectoryView

-- FavoritesPanel.java added
- content panel for FavoritesView

-- GlossyPanel.java removed
- no longer used

-- SidebarMenuCellRenderer.java modified
- now renders View classes instead of JLabels
- uses LAF's default ListCellRenderer component

-- DirectoryView.java modified
- now extends ToolbarView
- uses DirectoryPanel as content component

-- DownloadsView.java modified
- now extends ToolbarView

-- FavoritesView.java modified
- now extends ToolbarView
- uses FavoritesPanel as content component

-- ToolbarView.java added
- new base class for views
- basic view extended with toolbar

-- View.java modified
- converted to abstract class
- provides header and a method to suspend a task until the view becomes active for the next time

-- default.properties modified
- added default value for LOOK_AND_FEEL (Substance)

-- streamtastic.properties, streamtastic_de_DE.properties modified
- added keys for LAF selection
- modified keys for AboutFrame

-- streamtasticicon16x16.png added
- 16x16 version looks better when application is minimized to tray

54. By Joachim Lippold

 improved search for IcecastFeed, reworked bitrate selector in DirectoryView, ogg streams without meta data handled correctly by streamripper since version 1.64.1, edit action in FavoritesView now always labled correct

The search function for icecast now splits the search term on space characters. For example: If you search for "radio rock" it is no longer looked after a match for the whole string instead it is evaluated if "radio" and "rock" match on its own. This is only available for icecast, because for icecast the search is done locally while for shoutcast it is done by the server.
The bitrate selector from DirectoryView has been reworked. The selector starts with a basic set of bitrates and is extended automaticly as new values are discovered in stations list. Icecast bitrates greater than 10000 are considered as values in bits and are transformed to kbits.
The problem with ogg streams without meta data is now handled correctly by streamripper since version 1.64.1 . So our handling code can be removed, when 1.64.1 becomes the minimum required streamripper version.
The edit action in FavoritesView (available from popup menu) sometimes showed the wrong label, - this was fixed.

53. By Joachim Lippold

 implemented trayicon support, added PropertyChangeSupport to config class, converted menu items to shared actions

It is possible to minimize Streamtastic to tray/notifaction area now. The feature is enabled by default, but may be disabled in the user configuration file by setting the parameter MINIMIZE_TO_TRAY to DISABLED. A popup menu is also available from the trayicon, currently offering the possibilities to restore, show the "About..." dialog or to close Streamtastic. However the java trayicon support has some disadvantages because it is AWT based. It is not possible to use Swing JPopupMenu and thus menu item icons are not available. On WinXP the trayicon is looking acceptable but the popupmenu is not using the native font size. On Linux with KDE the java trayicon seems to support no transparency, so there is an ugly grey background. Here the popup menu is far out of looking native, it is very outmoded. However the feature is functional and if you don't like how it is looking, you are still free to disable it.
The Config class now has PropertyChangeSupport, thus Streamtastic components are able to reflect configuration changes immediately, without the need of a application relaunch. This will be helpful when a gui for setting preferences is implemented.
The menu items which are now also available from the trayicon popup menu have been transformed to shared actions to avoid double implementation of same behaviour.

52. By Joachim Lippold

 enabled compression also for ShoutcastFeed

Compressed responses save transmission time and traffic, thus it has been made available for all feeds. The DirectoryFeed class now provides the getInputStreamForHttpUrl() method which is automaticly using compression if it is offered by the webserver. The invoker always receives an uncompressed inputstream regardless whether a compressed or uncompressed response was transmitted.

51. By Joachim Lippold

 made retrieval of icecast stream directory more reliable

The retrieval of the icecast stream directory sometimes failed, only a truncated xml file was received. Perhaps this is due to more load on the webserver. To reduce traffic and retrieval time compression for the transmission is now enabled by setting the appropriate http request header field. The result is a more reliable icecastfeed.

50. By Joachim Lippold

 tooltips only shown when necessary, String sorting changed in StationColumn, reworked selection preservation for genres and station

Tooltips for stations are only shown when necessary (in case that cell contents is truncated). The rowsorter in station column now uses Collator to compare strings, otherwise capital letters are always listed before small letters ("T" is less than "a"). Then there was an issue with currently selected station and genre. The selection was not preserved correctly when the position of the current selected item had changed. This was fixed for stations and genres. However the current solution only works for single selections.

Branch metadata

Branch format:
Branch format 6
Repository format:
Bazaar pack repository format 1 (needs bzr 0.92)
This branch contains Public information 
Everyone can see this information.

Subscribers