Page 1 of 4

Subsonic 4.9.beta2 released

PostPosted: Sun Nov 17, 2013 2:28 pm
by sindre_mehus
Subsonic 4.9.beta2 was released today with the following changes:

New: Use modern icons and fonts.
New: Added light icons for dark themes.
Bugfix: Proper support for album artist.
Bugfix: Remember DLNA settings when restarting server.
Bugfix: Play next/last popup menu was unreadable in some themes.
Bugfix: Created signed installer for Mac OS.
New: Added Estonian translation, courtesy of Olav Mägi.
REST: Created updateUser method.
REST: Added "starred" to "Directory" and "Artist" in xsd.

Hope you like it.

Sindre

Re: Subsonic 4.9.beta2 released

PostPosted: Sun Nov 17, 2013 3:58 pm
by ironcross
Bugfix: Proper support for album artist.


Thank You.

PostPosted: Sun Nov 17, 2013 8:49 pm
by daneren2005
Does the way you did it rescan the entire library and fix the old ones that use the artist instead, or does it only fix future scanned songs?

Sent from my HTC One X using Tapatalk

Re:

PostPosted: Sun Nov 17, 2013 9:16 pm
by sindre_mehus
daneren2005 wrote:Does the way you did it rescan the entire library and fix the old ones that use the artist instead, or does it only fix future scanned songs?


It will fix the old ones as well (once rescanned).

PostPosted: Sun Nov 17, 2013 9:38 pm
by daneren2005
Cool sounds good. Can I request to update the db version to the latest bug fix release? I think it is 1.8.10. Im hoping it will at least reduce the number of db corruption issues that people are having.

Sent from my HTC One X using Tapatalk

Re: Subsonic 4.9.beta2 released

PostPosted: Sun Nov 17, 2013 10:46 pm
by globex
sindre_mehus wrote:Bugfix: Proper support for album artist.


Fix confirmed. Thank you!

Re: Subsonic 4.9.beta2 released

PostPosted: Mon Nov 18, 2013 4:59 am
by mockingbrd
sindre_mehus wrote:Bugfix: Proper support for album artist.

Thank you, thank you, thank you!

Re: Subsonic 4.9.beta2 released

PostPosted: Mon Nov 18, 2013 8:03 am
by powertobeyourbest
Great! thanks for the new and improved updates.
One quick question (and please forgive me if I've missed the answer earlier), but I'd like to 'export' my user list (members) and it seems with each upgrade one of my chores was just to re-do(re-add) members (and having them re-connect and change their passwords,etc). It would be great if there were an 'export users' button (to save to a file for later 'importing' to a newer version of Subsonic). This list ideally would have their passwords info as well (encrypted if necc).

Thanks again for this amazing product!

J.

Re: Subsonic 4.9.beta2 released

PostPosted: Mon Nov 18, 2013 8:07 am
by sindre_mehus
powertobeyourbest wrote:Great! thanks for the new and improved updates.
One quick question (and please forgive me if I've missed the answer earlier), but I'd like to 'export' my user list (members) and it seems with each upgrade one of my chores was just to re-do(re-add) members (and having them re-connect and change their passwords,etc). It would be great if there were an 'export users' button (to save to a file for later 'importing' to a newer version of Subsonic). This list ideally would have their passwords info as well (encrypted if necc).

Thanks again for this amazing product!

J.


Why do you need to do that? The Subsonic database (with users etc) should be unaffected by the upgrade.

Regards
Sindre

Re: Subsonic 4.9.beta2 released

PostPosted: Mon Nov 18, 2013 2:50 pm
by joost
I have installed beta2 and this are my first impressions; i like the new icons and fonts in de web interface. It isn't a mayor improvement, but a little more modern touch is very good...

The upnp server feature is working just a bit on xbmc... It shows me the artists and albums, but i'm not able to play a song or to see the album-art... XBMC version 12.2 currently used... upnp is a bit difficult so i heard, but would be nice if it works..

Can you make upnp respect the file/folder structure as subsonic does? That i get the folder / genre -> artist (named as HD folder which it is stored in) -> album / songs (with the help of id3 tags where possible)
This would be a huge advantage, because not all the music i have is properly tagged... I believe more people have a collection like this ;-)

Like it so far! Keep up the good work!

Re: Subsonic 4.9.beta2 released

PostPosted: Tue Nov 19, 2013 5:33 am
by offt9
Hi,
it's great to have a dlna feature in the release. :D

But unfortunately it didn't work on my onky 616. The Receiver shows the subsonic client and the artists but didn't play songs :(

The artistlist shows entries, that are old. I mean, I have tagged all artists right for example AC/DC and not ACDC. On the PC there are no artists any more like ACDC. The client shows the artists right. I've tagged the mp3's a long time ago, I've updated the database every day. I didn't know what database will be shown on my receiver :(

I would think it great if the list in dlna client is the same as on the pc - for example:
on PC I've listed my artists this way: A , B , C in subfolders are the artists
the dlna client shows directly the artists

I hope I've described understandably

Re: Subsonic 4.9.beta2 released

PostPosted: Tue Nov 19, 2013 4:32 pm
by kampkrusty
Hi Sindre,

I've been discussing the redirection of my Ubuntu server's audio output to my Sonos Play:1 via Icecast2/Darkice on the DSub for Android forum thread:

viewtopic.php?f=16&t=11788

One thing I would like is for Subsonic itself to create the http audio stream. I see there is an http live streaming command for video under the transcoding settings. Is there a way to get the audio to stream in a similar fashion? With DSub you can click on the RC button and it will initiate jukebox mode. When that occurs, can the Subsonic server initiate a concurrent http stream for audio? Also, could I define the audio http stream under the transcoding settings and assign that to one of my players?

I have successfully used Bubble UPnP on my Android phone to stream from my Subsonic library to my Sonos Play:1. That's great that it works, but it's a pain to navigate. To be able to use the Subsonic or DSub app, or even the web interface to do this would be awesome

Thanks!

Re: Subsonic 4.9.beta2 released

PostPosted: Thu Nov 21, 2013 1:39 am
by erikfig
When will this be final?

Sent from my Galaxy S III using my fingers!

Re: Subsonic 4.9.beta2 released

PostPosted: Fri Nov 22, 2013 8:14 am
by jameszimo
FYI: on 4.9.beta2 (build 3634) – November 16, 2013,

I'm getting an exception when clicking on a playlist name:

Exception: javax.el.ELException
Message: Failed to parse the expression [${model.playlist.public ? "checked='checked'" : ""}]
Java version: Oracle Corporation 1.7.0_25
Operating system: Linux 3.2.0-56-generic
Server: Apache Tomcat/7.0.26
Memory: Used 74 of 120 MB
Code: Select all
Stack trace   javax.el.ELException: Failed to parse the expression [${model.playlist.public ? "checked='checked'" : ""}]
   at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:146)
   at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:172)
   at org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:217)
   at org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:67)
   at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:984)
   at org.apache.jsp.WEB_002dINF.jsp.playlist_jsp._jspService(playlist_jsp.java:488)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
   at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:236)
   at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:257)
   at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:902)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
   at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
   at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
   at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
   at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
   at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:309)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:724)
Caused by: javax.el.ELException: The identifier [public] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
   at org.apache.el.parser.AstDotSuffix.setImage(AstDotSuffix.java:46)
   at org.apache.el.parser.ELParser.DotSuffix(ELParser.java:1069)
   at org.apache.el.parser.ELParser.ValueSuffix(ELParser.java:1035)
   at org.apache.el.parser.ELParser.Value(ELParser.java:980)
   at org.apache.el.parser.ELParser.Unary(ELParser.java:950)
   at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)
   at org.apache.el.parser.ELParser.Math(ELParser.java:634)
   at org.apache.el.parser.ELParser.Compare(ELParser.java:446)
   at org.apache.el.parser.ELParser.Equality(ELParser.java:340)
   at org.apache.el.parser.ELParser.And(ELParser.java:284)
   at org.apache.el.parser.ELParser.Or(ELParser.java:228)
   at org.apache.el.parser.ELParser.Choice(ELParser.java:185)
   at org.apache.el.parser.ELParser.Expression(ELParser.java:177)
   at org.apache.el.parser.ELParser.DynamicExpression(ELParser.java:149)
   at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:46)
   at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:115)
   ... 75 more


not sure what this is about but research online found a fix: update catalina.sh in tomcat7 bin dir and add the following:

Code: Select all
CATALINA_OPTS="-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true"

Re: Subsonic 4.9.beta2 released

PostPosted: Fri Nov 22, 2013 8:24 am
by sindre_mehus
jameszimo wrote:FYI: on 4.9.beta2 (build 3634) – November 16, 2013,

I'm getting an exception when clicking on a playlist name:

Exception: javax.el.ELException
Message: Failed to parse the expression [${model.playlist.public ? "checked='checked'" : ""}]
Java version: Oracle Corporation 1.7.0_25
Operating system: Linux 3.2.0-56-generic
Server: Apache Tomcat/7.0.26
Memory: Used 74 of 120 MB
Code: Select all
Stack trace   javax.el.ELException: Failed to parse the expression [${model.playlist.public ? "checked='checked'" : ""}]
   at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:146)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:724)
Caused by: javax.el.ELException: The identifier [public] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.
   at org.apache.el.parser.AstDotSuffix.setImage(AstDotSuffix.java:46)
   at org.apache.el.parser.ELParser.DotSuffix(ELParser.java:1069)
   at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:46)
   at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:115)
   ... 75 more


not sure what this is about but research online found a fix: update catalina.sh in tomcat7 bin dir and add the following:

Code: Select all
CATALINA_OPTS="-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true"



Thanks for bringing it to my attention - I'll fix that!

Sindre