FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Add-on Software › A standalone Java client: FireflyClient
- This topic has 186 replies, 38 voices, and was last updated 14 years, 9 months ago by Anonymous.
-
AuthorPosts
-
24/12/2008 at 5:12 PM #15641AnonymousInactive
Wow, what a nice Christmas present. Looks great. Thanks Caribou!
24/12/2008 at 5:41 PM #15642AnonymousInactiveJust tried the applet version but can’t get it to work. When the page loads, the status bar reads ‘applet noinited’ and then ‘Loading Java Applet Failed…’
Looks like it may be flashing ‘java.lang.nullpointer.exception’ in there too.Very possibly something I am doing wrong. Tried with both IE7 and FF 3.0.5 on XP. Both show just a red x at the top left of the window.I am running
Server:
svn-1696 on an HP Media VaultClient:
Windows XP
Firefox 3.0.5
Java 2 Platform Standard Edition 5.0 update 6 pluginLet me know if you have any ideas. Thanks.
24/12/2008 at 5:53 PM #15643AnonymousInactiveCaribou, here’s the output from the console if it’s any help:
java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception in thread “Thread-13” java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletException(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at sun.plugin.util.GrayBoxPainter.showLoadingError(Unknown Source)
at sun.plugin.AppletViewer.showAppletStatus(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)24/12/2008 at 9:08 PM #15644AnonymousInactiveThank you Caribou – more excellent bells and whistles for an already super add-on.
I don’t know if you are familiar with MediaMonkey but it has a superb way of dealing with multiple genre and multiple artists. Anything entered and separated with a semi-colon will appear in the filter (genre or artist) for ALL of the relevant entries.
For example, if genre is set to
R&B and Soul; R&B; Urban
then all three genres -i) R&B and Soul, ii) R&B, iii) Urban – will appear in the genre list and the appropriate song/album will appear if you select EITHER of the three genres.
This works the same way for the artist field.
The method really comes into its own for classical music, e.g. consider Beethoven’s 5th Symphony played by Berlin Philharmonic conducted by Karajan. In MediaMonkey I have this entered as follows:
artist field – Berlin Philharmonic; Karajan
genre field – Classical; [C]Classical; Orchestral;Symphony(the first Classical is the main genre classification, the second is to signify the Classical period)
The beauty of this is that I can filter on either the orchestra or the conductor, or pick up the piece by selecting any of four separate genre.
I would dearly love Firefly Server to follow this multiple artist/genre approach (the composer field already makes Firefly more powerful than most media servers but it’s still weak when there is more than one artist or for other than very simple genre classifications).
Is Firefly Client dependent on Firefly Media Server altering its structure or could the client software pick up the semi-colons direct from the artist/genre fields?
25/12/2008 at 2:32 AM #15645AnonymousInactiveCaribou,
@caribou wrote:Good news ! … I reproduced the buggy behaviour and I found a simple workaround … Next release is not ready at this time and I don’t know when it’ll be ….
Thank you so much you just make it in time to give everyone a BIG Christmas gift!!! I can confirm that the UTF display bug is fixed and thanks for the big bunch of new functions!
@caribou wrote:
You’re right … The name of the art file is configurable in mt-daapd.conf file with the property “art_filename”. This is an experimental support and I’ve not tested it. It might be worth to give a try if you are not able to embed artowrk in each file.
Thanks for the tips, I will take a look on mt-daapd.conf and give it a try! I can embed the artwork into every song but I think this is just a waste of disk spaces so don’t want to do it. 😀
Congratulations! Wishing you lots of happiness wth your coming little one! 😆25/12/2008 at 10:54 AM #15646AnonymousInactive@rregent wrote:
Just tried the applet version but can’t get it to work. When the page loads, the status bar reads ‘applet noinited’ and then ‘Loading Java Applet Failed…’
Java Applet works just fine here… but any suggestion on how to avoid given out Admin password?
Server: svn-1696 on LinkStation Live V2
Client:
Windows XPSP3
Firefox 3.0.5
JRE 6 Update 1129/12/2008 at 12:31 PM #15647AnonymousInactiveHi every one,
I have just released a new version of FireflyClient : 0.9b
See: https://sourceforge.net/project/showfiles.php?group_id=212642This is mainly a maintenance release based on 0.8b that mainly corrects the applet deployments problems. It has a few minor add-ons too.
Main features are :
– Enhanced applet deployments capabilities
– Genre/artist separator to manage multiple genre/artist in single tagHere is the detailed changelog below.
Changelog:
Version 0.9 b
- Enhanced applet configuration
- read more in fireflyclient.html file when fireflyclient-applet(.zip or .tar.gz) has been uncompressed
- Added the possibility to set a separator for genre and artist tag
- Ex: if genre tag contains "Classical; [C]Classical; Orchestral;Symphony" and that
';' character has been set as genre separator in preferences dialog, 4 genres
are extracted for this song (the song matching the four of them:
- Classical
- [C]Classical
- Orchestral
- Symphony
Same functionnality for artist tag.
When changing separators, application must be restarted.
- Enhanced keylistener on genre, artist and album lists
- When genre, artist or album list has the focus, you can type the first letters to go to the first matching item.
- Weakly crypted passwords (library and lastfm) in configuration file (needs library saving)
As usual, any support, any remark, bug report, feature request is welcome…
The genre/artist separator feature answer the Statto2 post : viewtopic.php?f=9&t=7198&start=120#p23807
If you read me, Pacbarnabe, I tried to add an hidden option to customize read buffer size, but I’m not sure that it will do the trick. Nevermind, you can try it. You just have to edit the XML configuration file (config.xml) and change/add the following property “4”. The default size is 4 (in kilobytes). You might try to increase this value. Do not put too high values as I noticed that the app was consumming a lot of CPU in that case. Try and find the value that might suit you if it makes any difference!
I’ll make a dedicated post for applet configuration.
— caribou
29/12/2008 at 1:13 PM #15648AnonymousInactiveAbout applet configuration…
Hi everybody,
Here are details about the applet version of Firefly Client. First of all, to use applet version, you must use the version 0.9b of the client – (see previous post).
First, there are two main files :
– FireflyClient.jar which contains the applet binary
– fireflyclient.html which tells the browser to launch the applet with the following html code :
At applet launch, the Java plugin downloads the jar file and accesses it several times while applet is running. To avoid requesting the remote jar each time, the java plugin tries to put it in a cache. If the plugin is unable to cache it, the jar file will be downloaded each it is needed (i.e. several times per session) which is unusable.
How does java plugin caching mechanism work ?
For the java plugin being able to cache the jar file, it needs to receive the following HTTP response headers:
– Content-Length (the size of the jar in bytes)
– Last-modified (the last modified date of the remote file)
The plugin then puts the jar in cache, and works with the cached version until size has changed (Content-length) or modification date (Last-modified)
Normally, every web server sends those two headers when serving any file as soon as these informations are available (which is the case for any static file).
The problem is that the FireflyMediaServer (FMS) built-in web server doesn’t sends those headers for the files in the admin-root directory. This means that the java plugin is unable to cache the file which makes the applet unusable !How to workaround these issues to have the applet working ?
First, the simplest way is to use the Java Runtime Environment (JRE) 1.6u10 (or more recent). Indeed, from this version, the java plugin interprets the ‘jnlp_href’ param name in the applet tag (see above). This parameter specify the url of a ‘jnlp’ file which is a more advanced descriptor (last generation) of the java applet. With the detailed informations contained in this description, the java plugin is able to cache the resources it needs (i.e. the jar file) without the usually needed HTTP headers and everything should work fine ! Keror0 has just said it worked for him (he runs the JRE 1.6 update 11).
The second way is a bit more tricky to get the applet working, but it should work for any version of java (> 1.4) like the firefly client non-applet version. The idea is to host the applet files on another webserver which should add the requested headers (Content-Length and Last-Modified) for the old versions of java plugin to cache the needed ressources. When running in that configuration you must add the FMS host and port as parameters of the applet tag :
<applet id="fireflyclient" style="width:100%; height:100%; position:absolute; top:0; left:0;"
code="net.firefly.client.gui.applet.FireflyClientApplet">
Any classical webserver work for this (i.e. apache, lighttpd,….)
To summarize, instead of extracting the fireflyclient-applet[tar.gz|zip] file in the admin-root directory of FMS, extract it in the root of your dedicated webserver. Then edit the fireflyclient.html file to make the needed changes (comment out the first version of applet tag and uncomment the second one after having specified your FMS host and port in the applet tag params). The applet is now available at : http://your_webserver:your_webserver_port/applet/fireflyclient.html
What to do when replacing applet by a new version ?
You must purge the Java Plugin cache. To do that, open the Java Control Panel, click on the ‘Display’ button under the ‘Temporary Internet Files’ section and remove Firefly Client related file (especially FireflyClient.jar)
Authentication problematics ?
If you install the applet in the admin-root directory of FMS and the FMS admin pages are password-protected, you’ll have an authentication popup for accessing the page fireflyclient.html which might be annoying. The second kind of installation (on another webserver) remove this problem (Note that your library stays password protected (if configured) )Hope this long post will help those who are interrested by the applet version of fireflyclient !
— caribou
29/12/2008 at 10:06 PM #15649AnonymousInactiveHi,
Fireflyclient.jar is just what i’m looking for, and i can use it on my laptop … But finally, i want to use it on my Htc Touch HD (windows mobile 6.1 smartphone) … I can install it, using the built-in java, but when trying to run it, it complains about several things … (at first i couln’t install either, but after adding the following lines in the Manifest.mf file, i can go further) :
MIDlet-Name: FireflyClient
MIDlet-Version: 1.5
MIDlet-Vendor: Vendor
MIDlet-1: Fireflyclient,,net.firefly.client.gui.swing.FireflyClientAfter installing it, it says “MIDLet was successfully installed! Do you want to launch the MIDlet ?”
Then it gives the following error “The MIDlet could not be instantiated : java.lang.ClassCastException”Can someone help me getting this to work on a windows mobile os ?
31/12/2008 at 4:23 AM #15650AnonymousInactive@caribou wrote:
About applet configuration…
The second way is a bit more tricky… host the applet files on another webserver … Any classical webserver work for this (i.e. apache, lighttpd,….) — caribouHi Caribou,
Playing around with the applet version a bit today… I have successfully migrated the server side applet to an apache server in attempt to bypass the authentication of the FMS. Modification of fireflyclient.html as follow:
<applet id="fireflyclient" style="width:100%; height:100%; position:absolute; top:0; left:0;"
code="net.firefly.client.gui.applet.FireflyClientApplet">
However, applet version of the client player only shown up in the browser correctly the VERY FIRST time. When attempt to reload and close Firefox and reload the applet it shown up as follow, also tried with IE 6 with the same result:
-
AuthorPosts
- The forum ‘Add-on Software’ is closed to new topics and replies.