|
YAACC - UPNP Client and Server
|


Public Member Functions | |
| AbstractPlayer (UpnpClient upnpClient) | |
| MediaSessionCompat | getMediaSession () |
| Get the MediaSession for this player. | |
| void | onServiceConnected (ComponentName className, IBinder binder) |
| void | onServiceDisconnected (ComponentName className) |
| Context | getContext () |
| Bitmap | getIcon () |
| void | setIcon (Bitmap icon) |
| UpnpClient | getUpnpClient () |
| void | startService () |
| void | next () |
| play the next item | |
| void | onItemEnded () |
The current item has ended by itself (a timer, or the renderer reported it): go on as the play mode says, which unlike next() repeats the item with repeat one. | |
| void | previous () |
| play the previous item | |
| void | pause () |
| Pause the current item. | |
| void | play () |
| start playing the current item | |
| void | stop () |
| stops playing. | |
| PlayMode | getPlayMode () |
| The repeat and shuffle mode of this player. | |
| void | setPlayMode (PlayMode mode) |
| Changes the repeat and shuffle mode of this player; the current item goes on playing. | |
| int[] | getPlayOrder () |
| boolean | isPlaylistPositionLocked (int position) |
| boolean | moveInPlayOrder (int fromPosition, int toPosition) |
| Moves an item in the playlist as the screen shows it: with shuffle the item moves in the play order (the list is not touched), otherwise in the list. | |
| boolean | removeItem (int itemIndex) |
| Removes an item from the playlist (and from the play order). | |
| boolean | removeItem (int itemIndex, boolean alsoPlayed) |
| Removes an item. | |
| int | getNextItemIndex () |
| int | getPreviousItemIndex () |
| void | clear () |
| Drops all Items. | |
| boolean | isPlaying () |
| boolean | isPaused () |
| boolean | isStopped () |
| void | setPlaying (boolean isPlaying) |
| List< PlayableItem > | getItems () |
| void | setItems (PlayableItem... playableItems) |
| Set a List of Items. | |
| void | addItems (List< PlayableItem > playableItems) |
| adds additional item to the end of the playlist | |
| void | insertItems (int index, List< PlayableItem > playableItems) |
| Puts items into the middle of the playlist (the OpenHome renderer's queue): the item that plays keeps playing, the play order places the new items (behind the current one with shuffle), an engine that holds the list too is told. | |
| void | playItemAt (int index) |
| Plays the item at the index (a playing, paused or stopped player starts it). | |
| String | getPositionString () |
| returns the current item position in the playlist | |
| int | getCurrentItemIndex () |
| String | getCurrentItemTitle () |
| returns the title of the current item | |
| String | getNextItemTitle () |
| returns the title of the next current item | |
| void | setShareLease (QueueShareWindow.Lease lease) |
| Makes this player hold the shares of a picked queue just in time: from now on loading an item binds the share of that item and of the next one and releases what the player left behind. | |
| long | getRemainingTime () |
| void | startTimer (final long duration) |
| Start a timer for the next item change. | |
| String | getName () |
| Get the player name. | |
| void | setName (String name) |
| Set the name of the player. | |
| boolean | isProcessingCommand () |
| void | setProcessingCommand (boolean isProcessingCommand) |
| void | exit () |
| Exit the player. | |
| PendingIntent | getNotificationIntent () |
| Returns the intent which is to be started by pushing the notification entry. | |
| void | onDestroy () |
| Kill the player. | |
| int | getId () |
| Returns the id of the Player. | |
| void | addPropertyChangeListener (PropertyChangeListener listener) |
| add a property change listener | |
| void | removePropertyChangeListener (PropertyChangeListener listener) |
| remove a property change listener | |
| abstract long | getCurrentPosition () |
| returns the current position of the current item in millis | |
| String | getDuration () |
| returns the duration of the current item | |
| String | getElapsedTime () |
| returns the elapsed time of the current item | |
| URI | getAlbumArt () |
| boolean | getMute () |
| void | setMute (boolean mute) |
| int | getVolume () |
| void | setVolume (int volume) |
| int | getIconResourceId () |
| String | getDeviceId () |
| abstract void | seekTo (long millisecondsFromStart) |
| String | getShortName () |
| Get the player short name. | |
| void | setShortName (String name) |
| Set the short name of the player. | |
| boolean | hasActionGetVolume () |
| boolean | hasActionGetMute () |
| void | fastForward (int i) |
| fast forward seconds | |
| void | fastRewind (int i) |
| fast rewind seconds | |
Public Member Functions inherited from de.yaacc.player.Player | |
Protected Member Functions | |
| void | configureMediaSession (MediaSessionCompat mediaSession) |
| Override this to configure MediaSession (e.g., set volume provider for remote playback). | |
| boolean | isShufflePlay () |
| is shuffle play enabled. | |
| PlayMode | readDefaultPlayMode () |
| The mode a new player starts with: the two settings "replay playlist" and "shuffle music". | |
| void | onPlayModeChanged (PlayMode oldMode, PlayMode newMode) |
The engine of a player applies the new play mode here (the order of the items is already adapted: see getPlayOrder()). | |
| void | onItemMoved (int fromIndex, int toIndex) |
The list order changed: the item at fromIndex moved to toIndex (shuffle is off). | |
| void | onItemRemoved (int index) |
The item at index was removed from the list and the play order. | |
| void | onPlayOrderMoved () |
The play order changed by a move (shuffle is on, the list is unchanged); read it with getPlayOrder(). | |
| void | resetPlayOrder (int firstIndex) |
| Creates the play order of the playlist again with the given item first (with shuffle a new random order, otherwise the list order). | |
| void | cancelTimer () |
| void | setPaused (boolean paused) |
| final void | adoptExternalPause () |
| Another controller than this app paused the playback (the media notification, the lock screen, a headset or the loss of the audio focus): the engine is paused already, only what the app knows about its player and shows is brought up to date. | |
| final void | adoptExternalResume () |
The playback that was paused goes on without a command of this app (see adoptExternalPause()). | |
| void | setCurrentIndex (int currentIndex) |
| final synchronized void | adoptDeviceState (List< PlayableItem > deviceItems, int index, boolean nowPlaying, boolean nowPaused) |
| For a player whose playlist and playback live on a device (OpenHome): takes over what the device reports. | |
| void | onItemsInserted (int index, List< PlayableItem > inserted) |
Items were put into the list at index. | |
| QueueShareWindow.Lease | getShareLease () |
| The lease of the shares of a picked queue, null for every other player. | |
| Object | loadItem (int toLoadIndex) |
| void | loadItem (int previousIndex, int nextIndex) |
| void | doPostLoadItem (PlayableItem playableItem) |
| void | doPause () |
| void | doResume () |
| long | getSilenceDuration () |
| returns the duration between two items | |
| void | updateTimer () |
| long | parseTimeStringToMillis (String timeString) |
| void | showNotificationInternal () |
| void | updatePlaybackStateInternal (int state) |
| void | updateMetadataInternal () |
| abstract int | getNotificationId () |
| Returns the notification id of the player. | |
| abstract void | stopItem (PlayableItem playableItem) |
| abstract Object | loadItem (PlayableItem playableItem) |
| abstract void | startItem (PlayableItem playableItem, Object loadedItem, int index) |
| void | firePropertyChange (String property, Object oldValue, Object newValue) |
| void | executeCommand (TimerTask command, Date executionTime) |
Additional Inherited Members | |
Public Attributes inherited from de.yaacc.player.Player | |
| String | PROPERTY_PLAY_MODE = "playMode" |
Name of the property change fired (see addPropertyChangeListener) when the play mode changed; old and new value are PlayModes. | |
| String | PROPERTY_PLAYLIST = "playlist" |
| Name of the property change fired when the playlist changed: items set, added, removed or moved, or the play order created again (a stop, a start). | |
| String | PROPERTY_STOPPED = "stopped" |
Name of the property change fired when the player has stopped: stop() is done, whoever called it - the end of the playlist without repeat, the stop button of the app, the media renderer's Stop. | |
| de.yaacc.player.AbstractPlayer.AbstractPlayer | ( | UpnpClient | upnpClient | ) |
| upnpClient | the upnpclient |
| void de.yaacc.player.AbstractPlayer.addItems | ( | List< PlayableItem > | items | ) |
adds additional item to the end of the playlist
| items | the items to be added |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
| void de.yaacc.player.AbstractPlayer.addPropertyChangeListener | ( | PropertyChangeListener | listener | ) |
add a property change listener
| listener | the listener |
Implements de.yaacc.player.Player.
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer().

|
protected |
For a player whose playlist and playback live on a device (OpenHome): takes over what the device reports.
The list, the index of the item that plays and the state are replaced as they are, the screen and the notification are told what changed. Nothing is started or stopped. It is synchronized, so the worker (polling) and the screen thread (an optimistic reorder) may both call it; the state it sets is volatile for the screen.
| deviceItems | the playlist of the device; the same objects for the same tracks as before keep the list "unchanged" |
| index | the index of the current item (clamped to the list) |
Referenced by de.yaacc.player.OpenHomePlayer.moveInPlayOrder().


| void de.yaacc.player.AbstractPlayer.clear | ( | ) |
Drops all Items.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
|
protected |
Override this to configure MediaSession (e.g., set volume provider for remote playback).
Reimplemented in de.yaacc.player.AVTransportPlayer.
| void de.yaacc.player.AbstractPlayer.exit | ( | ) |
Exit the player.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportController, and de.yaacc.player.AVTransportPlayer.

| void de.yaacc.player.AbstractPlayer.fastForward | ( | int | i | ) |
fast forward seconds
| i | seconds |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
| void de.yaacc.player.AbstractPlayer.fastRewind | ( | int | i | ) |
fast rewind seconds
| i | seconds |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
| URI de.yaacc.player.AbstractPlayer.getAlbumArt | ( | ) |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
| Context de.yaacc.player.AbstractPlayer.getContext | ( | ) |
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer(), de.yaacc.player.OpenHomePlayer.getIcon(), de.yaacc.player.MultiContentPlayer.getNotificationIntent(), and de.yaacc.player.OpenHomePlayer.getNotificationIntent().


| int de.yaacc.player.AbstractPlayer.getCurrentItemIndex | ( | ) |
Implements de.yaacc.player.Player.
| String de.yaacc.player.AbstractPlayer.getCurrentItemTitle | ( | ) |
|
abstract |
returns the current position of the current item in millis
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, de.yaacc.player.MultiContentPlayer, and de.yaacc.player.OpenHomePlayer.
| String de.yaacc.player.AbstractPlayer.getDeviceId | ( | ) |
Implements de.yaacc.player.Player.
| String de.yaacc.player.AbstractPlayer.getDuration | ( | ) |
returns the duration of the current item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
| String de.yaacc.player.AbstractPlayer.getElapsedTime | ( | ) |
returns the elapsed time of the current item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
| Bitmap de.yaacc.player.AbstractPlayer.getIcon | ( | ) |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
| int de.yaacc.player.AbstractPlayer.getIconResourceId | ( | ) |
Implements de.yaacc.player.Player.
| int de.yaacc.player.AbstractPlayer.getId | ( | ) |
Returns the id of the Player.
Implements de.yaacc.player.Player.
Referenced by de.yaacc.player.OpenHomePlayer.getNotificationIntent().

| List< PlayableItem > de.yaacc.player.AbstractPlayer.getItems | ( | ) |
Implements de.yaacc.player.Player.
| MediaSessionCompat de.yaacc.player.AbstractPlayer.getMediaSession | ( | ) |
Get the MediaSession for this player.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer().

| boolean de.yaacc.player.AbstractPlayer.getMute | ( | ) |
Implements de.yaacc.player.Player.
| String de.yaacc.player.AbstractPlayer.getName | ( | ) |
Get the player name.
Implements de.yaacc.player.Player.
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer(), de.yaacc.player.MultiContentPlayer.getCurrentPosition(), and de.yaacc.player.OpenHomePlayer.getIcon().

| int de.yaacc.player.AbstractPlayer.getNextItemIndex | ( | ) |
PlayOrder#NONE at the end of the list (also with repeat all: the wrap around is not shown) 
| String de.yaacc.player.AbstractPlayer.getNextItemTitle | ( | ) |
returns the title of the next current item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
|
abstractprotected |
Returns the notification id of the player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, de.yaacc.player.MultiContentPlayer, and de.yaacc.player.OpenHomePlayer.
| PendingIntent de.yaacc.player.AbstractPlayer.getNotificationIntent | ( | ) |
Returns the intent which is to be started by pushing the notification entry.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, de.yaacc.player.MultiContentPlayer, and de.yaacc.player.OpenHomePlayer.
| PlayMode de.yaacc.player.AbstractPlayer.getPlayMode | ( | ) |
The repeat and shuffle mode of this player.
It starts with the mode the settings "replay playlist" and "shuffle music" give a new player and then belongs to the player only: it is never written back to the settings and ends with the player.
Implements de.yaacc.player.Player.
| int[] de.yaacc.player.AbstractPlayer.getPlayOrder | ( | ) |
Implements de.yaacc.player.Player.

| String de.yaacc.player.AbstractPlayer.getPositionString | ( | ) |
returns the current item position in the playlist
Implements de.yaacc.player.Player.
| int de.yaacc.player.AbstractPlayer.getPreviousItemIndex | ( | ) |
PlayOrder#NONE before the first one 
| String de.yaacc.player.AbstractPlayer.getShortName | ( | ) |
|
protected |
returns the duration between two items

| UpnpClient de.yaacc.player.AbstractPlayer.getUpnpClient | ( | ) |
Referenced by de.yaacc.player.OpenHomePlayer.createControl().

| int de.yaacc.player.AbstractPlayer.getVolume | ( | ) |
Implements de.yaacc.player.Player.
| boolean de.yaacc.player.AbstractPlayer.hasActionGetMute | ( | ) |
Implements de.yaacc.player.Player.
| boolean de.yaacc.player.AbstractPlayer.hasActionGetVolume | ( | ) |
Implements de.yaacc.player.Player.
| void de.yaacc.player.AbstractPlayer.insertItems | ( | int | index, |
| List< PlayableItem > | playableItems ) |
Puts items into the middle of the playlist (the OpenHome renderer's queue): the item that plays keeps playing, the play order places the new items (behind the current one with shuffle), an engine that holds the list too is told.
| index | where the first new item goes; clamped to the list |
| playableItems | the new items |
Reimplemented in de.yaacc.player.OpenHomePlayer.

| boolean de.yaacc.player.AbstractPlayer.isPaused | ( | ) |
Implements de.yaacc.player.Player.
| boolean de.yaacc.player.AbstractPlayer.isPlaying | ( | ) |
Implements de.yaacc.player.Player.
| boolean de.yaacc.player.AbstractPlayer.isPlaylistPositionLocked | ( | int | position | ) |
| position | a position of getPlayOrder() |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.

|
protected |
is shuffle play enabled.
| boolean de.yaacc.player.AbstractPlayer.isStopped | ( | ) |
Implements de.yaacc.player.Player.
| boolean de.yaacc.player.AbstractPlayer.moveInPlayOrder | ( | int | fromPosition, |
| int | toPosition ) |
Moves an item in the playlist as the screen shows it: with shuffle the item moves in the play order (the list is not touched), otherwise in the list.
The positions are positions of getPlayOrder(). Fires PROPERTY_PLAYLIST.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.

| void de.yaacc.player.AbstractPlayer.next | ( | ) |
play the next item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportController, de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
| void de.yaacc.player.AbstractPlayer.onDestroy | ( | ) |
Kill the player.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportPlayer, de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
| void de.yaacc.player.AbstractPlayer.onItemEnded | ( | ) |
The current item has ended by itself (a timer, or the renderer reported it): go on as the play mode says, which unlike next() repeats the item with repeat one.
The default is next().
Implements de.yaacc.player.Player.
|
protected |
The list order changed: the item at fromIndex moved to toIndex (shuffle is off).
For an engine that holds the list too. Called on the caller's thread, before the property change.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
|
protected |
The item at index was removed from the list and the play order.
Called on the caller's thread, before the property change.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
|
protected |
Items were put into the list at index.
For an engine that holds the list too. Called on the caller's thread, after the list and the play order changed and before the property change.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
|
protected |
The engine of a player applies the new play mode here (the order of the items is already adapted: see getPlayOrder()).
Called before the property change is fired, possibly on any thread.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
|
protected |
The play order changed by a move (shuffle is on, the list is unchanged); read it with getPlayOrder().
Called on the caller's thread, before the property change.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer.
| void de.yaacc.player.AbstractPlayer.pause | ( | ) |
Pause the current item.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
Referenced by de.yaacc.player.AVTransportPlayerWrapper.pause().

| void de.yaacc.player.AbstractPlayer.play | ( | ) |
start playing the current item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportController, and de.yaacc.player.OpenHomePlayer.
Referenced by de.yaacc.player.AVTransportPlayerWrapper.play().

| void de.yaacc.player.AbstractPlayer.playItemAt | ( | int | index | ) |
Plays the item at the index (a playing, paused or stopped player starts it).
Nothing happens for an index outside the list.
Reimplemented in de.yaacc.player.OpenHomePlayer.
Referenced by de.yaacc.upnp.server.openhome.OpenHomeRenderer.seekToTrack().


| void de.yaacc.player.AbstractPlayer.previous | ( | ) |
play the previous item
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportController, de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.
|
protected |
The mode a new player starts with: the two settings "replay playlist" and "shuffle music".
Only read once per player (the first time the mode is asked).

| boolean de.yaacc.player.AbstractPlayer.removeItem | ( | int | itemIndex | ) |
Removes an item from the playlist (and from the play order).
| itemIndex | the index into getItems() |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.
| boolean de.yaacc.player.AbstractPlayer.removeItem | ( | int | itemIndex, |
| boolean | alsoPlayed ) |
Removes an item.
The playlist screen only removes what still lies ahead; the OpenHome queue may drop what has been played as well (alsoPlayed), but never the item that plays now.
Reimplemented in de.yaacc.player.OpenHomePlayer.

| void de.yaacc.player.AbstractPlayer.removePropertyChangeListener | ( | PropertyChangeListener | listener | ) |
remove a property change listener
| listener | the listener |
Implements de.yaacc.player.Player.
|
protected |
Creates the play order of the playlist again with the given item first (with shuffle a new random order, otherwise the list order).
For an engine that follows getPlayOrder() and starts playing at the item.

|
abstract |
Implements de.yaacc.player.Player.
| void de.yaacc.player.AbstractPlayer.setIcon | ( | Bitmap | icon | ) |
Implements de.yaacc.player.Player.
| void de.yaacc.player.AbstractPlayer.setItems | ( | PlayableItem... | items | ) |
Set a List of Items.
| items | the items to be played |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.LocalMediaSessionPlayer, and de.yaacc.player.OpenHomePlayer.

| void de.yaacc.player.AbstractPlayer.setMute | ( | boolean | mute | ) |
Implements de.yaacc.player.Player.
| void de.yaacc.player.AbstractPlayer.setName | ( | String | name | ) |
Set the name of the player.
| name | the name |
Implements de.yaacc.player.Player.
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer(), and de.yaacc.player.MultiContentPlayer.MultiContentPlayer().

| void de.yaacc.player.AbstractPlayer.setPlayMode | ( | PlayMode | mode | ) |
Changes the repeat and shuffle mode of this player; the current item goes on playing.
Fires PROPERTY_PLAY_MODE if the mode differs.
| mode | the new mode, null is ignored |
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.OpenHomePlayer.

| void de.yaacc.player.AbstractPlayer.setShareLease | ( | QueueShareWindow.Lease | lease | ) |
Makes this player hold the shares of a picked queue just in time: from now on loading an item binds the share of that item and of the next one and releases what the player left behind.
Call before setItems; null (the default) leaves the items as they are.
| void de.yaacc.player.AbstractPlayer.setShortName | ( | String | name | ) |
Set the short name of the player.
| name | the name |
Implements de.yaacc.player.Player.
Referenced by de.yaacc.player.AVTransportPlayer.AVTransportPlayer(), and de.yaacc.player.MultiContentPlayer.MultiContentPlayer().

| void de.yaacc.player.AbstractPlayer.setVolume | ( | int | volume | ) |
Implements de.yaacc.player.Player.
| void de.yaacc.player.AbstractPlayer.startTimer | ( | final long | duration | ) |
Start a timer for the next item change.
| duration | in millis |
Reimplemented in de.yaacc.player.AVTransportPlayer.
| void de.yaacc.player.AbstractPlayer.stop | ( | ) |
stops playing.
And returns to the beginning of the item list.
Implements de.yaacc.player.Player.
Reimplemented in de.yaacc.player.AVTransportController, and de.yaacc.player.OpenHomePlayer.
Referenced by de.yaacc.player.AVTransportPlayerWrapper.stop().
