lördag 4 december 2010

Crappy library

Of course as alwyas with software things doesn't work as expected. Error reporting from the cybergarge lib didn't work as expected. But we fix that now...

fredag 3 december 2010

Free Version out

The free version  got out of the door just now. See it's limitatons in the previous post.

Free Verison

Rumor has it that a Free version of the SharkMote will make it out of the doors later to night.
The restrictions in the free version are:

  • Maximum 7 entries per folder
  • No video support
  • Maximum 1 render except the local one

torsdag 2 december 2010

Ooops

In order to get the most out of PMS you'll need this render configuraion file as well. Just drop into the PMS render directory and restart PMS. Also include a icon for use with PMS.


# Refer to PS3.conf for help

RendererName=SharkMote (Android)
RendererIcon=sharkmote_droid.png
UserAgentSearch=(.*Android)|Java0
Video=true
Audio=true
Image=true
SeekByTime=false
TranscodeVideo=MPEGAC3
TranscodeAudio=PCM
DefaultVBVBufSize=true
MuxH264ToMpegTS=false
MuxDTSToMpeg=true
WrapDTSIntoPCM=false
MuxLPCMToMpeg=true
MaxVideoBitrateMbps=0
MaxVideoWidth=0
MaxVideoHeight=0
#TranscodeExtensions=dvr-ms,dvr,mkv,dv,ty,mov,ogm,hdmov,hdm,rmv,rmvb,rm,asf,evo,asx,flv,m2v,mpe,mod,tivo,ty,tmf,ts,tp,m2p,m4v,avi,wmv,wm,divx,div,flac,mlp,fla,wma,m4a,aac,dts,mka,ape,shn,mpc,ra,mp2,wv,oma,aa3,arw,cr2,crw,dng,raf,mrw,nef,pef,tif,tiff
TranscodeExtensions=
StreamExtensions=
Supported = f:mp4    v:mp4|h264    a:ac3|aac    m:video/mp4

onsdag 1 december 2010

SharkMote

At last everything is done. A blog and an app. This first post is at the same time the user manual for the SharkMote (my first android app). I needed this app myslef hopefully someone else needs it too.

SharkMote

SharkMote is a UPnP™ */DLNA  remote control. It allows you to play your media stored on your media server on your UPnP™ */DLNA capable devices. You can use it as replacement of all those remote controls you have for all those devices.
You can also use the SharkMote as a UPnP™ */DLNA client to stream media from your media server to your android phone.

The SharkMote uses the CyberLink library http://www.cybergarage.org/twiki/bin/view/Main/CyberLinkForJava which is an excellent library.

How it works

Start the app and you'll be presented with two tabs. The first tab (which will hold the server eventually) might be empty. Once SharkMote starts finding servers they'll show up here in the list. NOTE!! You'll need to turn on your WLAN so SharkMote can find and communicate with servers and renders.



 Navigating in the SharkMote is easy. Just click on the server you like to browse. The first folder (the root folder) will open up and display what the server has to offer. Continue clicking until you get to your media.

Clicking on a media file will open up the render selection dialog. This will display a list with all renders found (so far). The "Local" render is the SharkMote itself (that is the android device you are holding in your hand). Click on render were you wan't your media to play and voila music (or video or an image) will start playing on that render.

If you selected the "Local" render and the media was a visula one (that is it was a picture or a video) a new dialog will pop up displaying the image or the video.

Once your media is playing you can look on the Renders tab for the current status of your render network.



At the top of the render there is a list with a renders found so far with a brief status message. In the middle there are some basic render control keys. Once you click on a render in the list that render will become the "active" render of the SharkMote (the text "Active Render: None" will change to "ActiveRender: xxxx") and below the control keys a thumbnail and information about the media will be shown (if the server provides this infroamtion otherwise it will just be the name of the media file). Clicking on the control keys will perform that action on the active render, if no render has been selected the render selection dialog will appear and allow you to select which render to perform the action on.

Search

Instead of just clicking around (or browsing) you can perofrm a search towards the server. The search can be started at any level and is initiated by a "long-click". If this is performed on a folder entry the search box will appear.
Simply type in your query and it will be sent to the server.

Media Info







Configuration

The SharkMote has been designed to run straight out of the box with as little as possible configuration. However there are somo configuration parameters that you can modify most of them control how to play your media. 



  • Always browse (default: disabled): Some media servers doesn't support search. Enabling this setting will make the "long-click" behave as the short click and just continue to browse the folder structure of the server.
  • Auto Play (default: disabled): This option allows you to start play automatically when a new folder is opend. If enabled it will start playing the first media file found in the folder. If no media file is found nothing will start playing.
  • Auto continue (default:enabled): When a media file has finished playing this setting controls what the SharkMote will do next. If enabled the SharkMote will autmatically play the next media file (within the same folder. SharkMote will not automatically open new folders) on the same render (without asking). Next is diffrent depening on other settings.
  • Hold Media Type (default: disabled): If enabled the media type (video,audio,image) of the next media will be the same as that of the previous. That is if you played an audio track the next media to played will also be an audio track or nothing.
  • Repeat (default: disabled): Once all media files within a folder has been played this option will (if enabled) start over from the top with the first again. The first track differs depending on other settings.
  • Shuffle (default: disabled): Control if the SharkMote should use randomized playback order. This also implies Auto Continue.
  • Thumbnails (default:enabled): Servers can supplie a thumbnail to go with the media file. This is nice to see when browsing trough your media collection. However downloading the thumbnails from the server takes time. If you think displaying the result of your browse/search is slow disabling thumbnails will make it faster.

Patches

SharkMote has been tested with various servers/renders but not all. One of the best servers is the PS3 Media Server (http://ps3mediaserver.org/forum/index.php?sid=4be10c82195fa4c720cb990fe314a326) but in order for the PS3 Media Server to work some patches are needed see http://ps3mediaserver.org/forum/viewtopic.php?f=11&t=8780.

Final notes


SharkMote was designed to be a remote control. The local media playback is depending on the operating system (android) to supply these things. Thus it uses the android media player for playback with it's pros and cons see http://developer.android.com/guide/appendix/media-formats.html.

Things that might be added

  • Local file rendering
  • Improved media player
  • Your request?

* UPnP ™ is a certification mark of the UPnP™ Implementers Corporation.

LICENSE

The CyberLink library is licensed with this license
Copyright (c) 2003-2010, Satoshi Konno


All rights reserved.


Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:


* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of the Cyber Garage nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR

CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,

EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR

PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF

LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING

NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.