Re: [SlimDevices: Plugins] Custom Clock No longer appearing after LMS Update

2022-02-15 Thread erland


My site was down recently but should now working again, so try if it
works better now.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=115968

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2022-02-15 Thread erland


Weller wrote: 
> Hi,
> I started Sunday to reinstall LMS and I noticed that it is no longer
> possible to install Erlands plugins via the LMS menu. The log file gives
> me the impression that the repo isn't reachable. His download site seems
> to be down as well. Is there another possibility to download erlands
> plugins? At the moment I am especially searching for the trackstat
> plugin.
> 
The download site should now be up again, thanks for reporting.
If using LMS 8 you will have to make sure to activate the "Use
unsupported extensions" option in LMS Settings/Plugins.

Please note that my plugins are no longer officially maintained, so it
might be worth to look for alternatives. Related to statistics and
ratings the new "Ratings Light" plugin is available and maintained and
might be worth a try.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Dynamic Playlists 3 (mod)

2021-11-07 Thread erland

afriend wrote: 
> 
> BTW when I did some tests on a *clean* LMS 8.2.1 test system CustomSkip
> 2.5.83 didn't show up in the list of "unsupported extensions" for me.
> It's still listed in the main repo xml file though, just didn't show on
> the settings > plugins page under "unsupported extensions". All of the
> other plugins did though. Can anybody reproduce this?
> 

Unsupported plugins only appear after a user have manually installed
them, confirmed that they work and issued a pull-request towards the
unsupported repo:
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml
If people don’t know how to make a pull request they can also just tell
mherger or another community developer to do it for them.

So the reason Custom Skip doesn’t appear is that nobody has done this
yet. People using Custom Skip on 8.0 have installed it before they
upgraded to LMS 8.* or manually installed it after they setup LMS 8.*

The reason for the above process is to ensure plugins which have never
worked on 8.* doesn’t appear in the unsupported list.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=115073

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Dynamic Playlists 3 (mod)

2021-11-06 Thread erland

marco.mosca wrote: 
> 
> First of all I would like to understand the difference between
> deprecated and unsupported. 
> 
Unsupported=Nobody has officially tested the plugin with the LMS version
and nobody have said they are going to fix any existing or future bugs
caused by the plugin itself or current or future LMS version. None of my
plugins are possible to install in LMS 8.0 or later unless you have
checked the “Use unsupported extensions” checkbox which also state that
you are aware of the risk that the plugins might even make whole LMS
unstable. If you have issues with LMS, one of the first thing you should
do IMHO is to uninstall any unsupported plugins to verify that they
don’t cause the problem.

Deprecated=The plugin/functionality is still supported and bugs will be
fixed and users will be offered support if they have issues. However,
deprecated means that the plugin or functionality is planned to be
removed in the future. LMS has no way to indicate that a functionality
is deprecated as far as I know, so if you want such indication you will
have to monitor the forum and read between the lines. The fact that the
last release of Dynamic Playlist was more than 4 years ago when I told
everyone via forum that I wasn’t going to have the time to maintain it
should be an indication. The fact that the last bug correction was 8
years ago should be an even better indication.

So I guess you can consider my version of Dynamic Playlist to be
deprecated and unsupported since 2017.

My personal recommendation, which I’ve previously stated in the forum,
is that people that want to keep the functionality in my plugins should
look for a different solution or try to encourage other plugin
developers to implement something similar (like afriend did)

When someone (like afriend) decides to test, fix bugs and adjust
functionality in an unsupported plugin so you can get an officially
supported version again, that’s a really good thing. Some functionality
might break or disappear because it relies on other unsupported plugins
but having a version that’s officially tested and supported and might
get new features in the future is still a good thing IMHO. When another
developer offers a new version it’s natural that the roadmap for the
future goes in another direction.

marco.mosca wrote: 
> 
> Some users, including me, have made specific setup based on the above
> mentioned plugins and happy to stay stable on those setup.
> 
If you use LMS 7.8.*, which is the last LMS version which my Dynamic
Playlist plugin was tested on, you will get my version since afriend
only offers his version on LMS 7.9 and later. Of course, using LMS 7.8
is no solution because then you are using an LMS version that’s no
longer supported and might stop working at any time due to OS upgrades
and other similar things.

I’m sorry about the situation, but this kind of issues is something you
will have to live with when you are using free software which relies on
people spending their spare time to fix bugs or add functionality. The
best way forward is to try to encourage the new developer in all
possible ways, complaining on someone who spend their spare time to
offer things for free is just going to make the situation worse.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=115073

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Dynamic Playlists 3 (mod)

2021-11-05 Thread erland

w3wilkes wrote: 
> You should either remove it now or change the name so those of us that
> want v2 can have v2. I don't think overriding another persons pluggin
> should be acceptable @mherger.

I haven’t read the whole thread, so I’ll apologize in advance if I’ve
misunderstood something in this situation. This post is not directed
towards you in personal, it’s directed towards anyone that don’t like
that a new developer tries to continue maintenance of an abandoned
plugin.

Overriding an unsupported plugin should definitely be allowed in my
opinion. If we didn’t allow this we would get a plugin inflation every
time a developer stops maintaining a plugin and someone else wants to
take over. People that prefer to use an unsupported version will have to
manually download and install that and they would have to accept a more
complicated installation process IMHO.

I understand why afriend plans to pull his version from the main repo to
avoid the criticism on the forum but I think this is really unfortunate,
it would be a lot better to keep it in the main repo so people can
easily install the supported version (afriend’s one) if they are usin
LMS 7.9 or later. I’ve never tested or officially supported any of my
plugins on a LMS version later than 7.8, if they work on later LMS
versions it’s just pure luck and a matter of time until something
breaks.

I’d personally prefer if afriend keeps his plugin in the main repo to
make it easy to install for people that wants a supported version and if
he wants to make it easy for people to install my unsupported version
changing the plugin name to DynamicPlayList3 in repo will probably
probably allow that. I’m not sure if he would also have to change the
plugin directory name to DynamicPlayList3 to make it work properly,
which would make it a little bit more work. However, in my personal
opinion he can just keep the name as it is and refer the people that
wants my unsupported version to manual installation (recommended) or
downgrading LMS to 7.8 (not recommended). If people wants to know how to
manually install an unsupported plugin they should ask someone else in
the community, the new developer should not have to spend time
instructing people how to install someone else plugin IMHO.

Having said all this, I think it’s sad that people criticize people
(like afriend) that spend time for free to try make functionality
survive that have been abandoned by previous developers (like me). We
should encourage people that try to ensure as much functionality as
possible survives when the original plugin developer has abandoned a
plugin. We should also keep in mind that all plugin developers offers
their spare time for free to do this for us. If we don’t do our best to
encourage them in all possible ways we are soon going to end up without
any plugin developers and that will be an early step towards the death
of the LMS community.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=115073

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Old abandoned plugins, patches and applets for new Custom Firmwares, which still work

2021-05-25 Thread erland


frankd wrote: 
> If these apps and patches are hosted with the maxversion overwritten in
> the repository.xml, everything will work automatically. That is what I
> did locally. Maybe there is a simple approach of overwriting maxversions
> for a "positive list of apps / patches" via the official repository?

I suspect adding them to the unsupported repository I linked to will
work.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114630

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Old abandoned plugins, patches and applets for new Custom Firmwares, which still work

2021-05-24 Thread erland

frankd wrote: 
> 
> Maybe these plugins and applets can be added to the list of abandoned
> plugins for the availability of the community? Not sure how the
> mechanism works behind the scenes. 
> 

Might be worth to check with Michael(mherger) if they could be added to
the unsupported list:
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml
Not completely sure if the “Use unsupported extensions” option also
works for patches/applets or if something similar would have to be done
in the SqueezePlay source code to make it work.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114630

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-05-24 Thread erland

AndyTwizzle wrote: 
> 
>  If 1 is not possible, is there a way to manually install Erland's
> plugins (principally Dynamic Playlists) into my Docker LMS 8.0 on my
> DS218+? If so, plain English//not too techie instructions would be
> appreciated!
> 

In 8.0 you would have to download and unzip them manually from my web
site so that’s probably not what you are looking for.

In 8.1 there is a “Use unsupported extensions” option in LMS
Settings/Plugins you can activate to be able to install them the normal
way via Plugins tab. Just be aware that they can break at any time if
something changes in LMS source code that breaks them so you do it on
your own risk and it’s probably not a good long term solution. The only
good long term solution is to try to get someone to implement similar
functionality in a new actively supported plugin.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-05-10 Thread erland


wowo wrote: 
> 
> But when I try to use the *scheduled* back-up function from TrackStat on
> my new NAS, nothing happened. The scheduled back-up function does not
> work.:(
> 

Any errors in LMS server.log file ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-05-03 Thread erland

afriend wrote: 
> 
> So the music file was deleted manually without a rescan afterwards? When
> I do track->rating to *get* a track rating does LMS check if the file
> exists? Or do you have to perform some (failed) action on it before it's
> marked dead?
> 
track->rating just reads the database, it does not check if the file
exist.
If a track has been removed and you perform a rescan the entry will be
removed from tracks table but it will remain in track_persistence. In
this situation objectForUrl would return undef

afriend wrote: 
> 
> I guess when the backup function does
> -$track =
> Slim::Schema->resultset("Track")->objectForUrl($BACKUPtrackURL);-
> it would return undef and I could catch this. 
> 
Yes

afriend wrote: 
> 
> Since I use SQL to set the trackrating directly in the persistent
> database and not -$track->rating- to *set* the rating, I'm not sure if
> the restore function would mind processing urls for missing tracks.
> 
> Anyway, will look into it.
As an alternative to check for undef, you could probably read the rating
using SQL directly from track_persitence also. Reading directly from
track_persitence would work, going through a $track object won’t work
since there isn’t an entry in tracks table. It depends if you want the
backup to contain information for all previously renamed/moved/deleted
tracks or not. 

In normal situation a user is probably not interested to keep
information for deleted tracks. The only situation when it could be
useful is if you move all the music to a new disc/path and doesn’t do a
backup before the move. In this situation LMS would loose all ratings
since all file URLs are changed, but if the user could do a backup to
export the information they could do a “replace all” in a text editor of
the backup file and restore it to restore the ratings. However, this is
a corner case, in normal situation the user should have a backup file
from before the move and could just use that. I think my suggestion
would be to instead do filtering of undef when creating the backup and
only store ratings for tracks that exist in tracks table.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-05-03 Thread erland

radish112 wrote: 
> erland,
> 
> Yep, that may well be the problem. I did delete a track (it's a long
> story), and it may well have been a rated track.
> 
> Assuming that is the problem, would restoring the file to its proper
> location solve the problem? 
> 
> Thanks for your reply.

You would have to restore it and perform a rescan. However, if it isn’t
urgent I’d just wait for a new plugin release that ignores tracks that
no longer exists.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-05-03 Thread erland

radish112 wrote: 
> And for what it's worth, here's line 3388:
> 
> my $thisrating = $track->rating;
> 
> I'm thinking an uninstall and reinstall might be in order. If so, how
> can I make sure to delete anything that might be "left behind" after a
> simple uninstall?

I suspect it’s related to a moved, renamed or deleted track. If a track
is rated and after this is moved, renamed or deleted it will remain in
track_persistent table but be removed/renamed in tracks table and this
will cause the error you are seeing. LMS isn’t able to keep ratings for
moved, renamed or deleted tracks but it’s still there in the database
under the old file url in the track_persistent table.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] JSON protocol for 3rd party apps support

2021-04-14 Thread erland

ThatPaolo wrote: 
> Oh
> 
> no... 13 years old :(

As mentioned earlier in the thread there is no documentation that’s 100%
updated, unfortunately this tends to be the case in many projects so it
isn’t unique for LMS. At least the source code for LMS and SqueezePlay
is available so you can always look in the source code to get a better
understanding.

It’s hard to answer generic questions about parts that aren’t
documented. If you really want help I suspect you have a better chance
if you ask about a specific response attribute or request you have
trouble understanding. Try to be as specific as possible, then it’s a
lot easier for someone to give you an answer. Remember that everyone on
this forum is here on their spare time these days. People tend to be
very helpful if you ask specific questions while generic questions often
remain unanswered because it takes a lot of time to answer them and you
don’t even know if you are answering the right thing.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114363

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] JSON protocol for 3rd party apps support

2021-04-13 Thread erland

mherger wrote: 
> > The CLI docs also don’t mention anything about the menu: parameters
> or
> > window style.
> > 
> > There must be a comprehensive doc for all this somewhere :)
> 
> Unfortunately there's none. At least not a comprehensive doc. There's 
> something int he old wiki, but it's incomplete, and pretty sure not 
> accurate in all places.
> 
> See eg. 
> https://wiki.slimdevices.com/index.php/Home_Menu_Items_Versus_SlimbrowseItems.html

Would the old documentation from Squeezeplay browse protocol be useful
?
https://htmlpreview.github.io/?https://github.com/Logitech/squeezeplay/blob/49f41e48311ade3a4a879b4b27283036363724b5/src/squeezeplay/doc/html/jiveMLON.html

It’s probably not updated with latest changes but it might give some
clues.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114363

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Trackstat statistics and Spotty content

2021-04-07 Thread erland

mherger wrote: 
> > Isn't the problem more that things like "Last Played" and "Playcount"
> > are not stored in the database for online tracks?
> 
> I think you're right! The RemoteTrack class overrides the persistent 
> data handling with empty stubs. I'll have to figure out how I can better
> 
> handle this.

I guess the following if statement only updating lastPlayed/play counts
if isFile returns true is likely to cause issues ?
https://github.com/erland/lms-trackstat/blob/fe583776eafce682086a0cc2731a8676b67652f6/src/Plugin.pm#L4259

And the following code will likely not work if persistent handling isn’t
implemented for remote tracks:
https://github.com/erland/lms-trackstat/blob/fe583776eafce682086a0cc2731a8676b67652f6/src/Plugin.pm#L5000

I suspect there are more issues than these in the plugin code so it
might not be worth the time to fix issues in LMS core unless someone
also is willing to fix the issues in the plugin.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114317

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Trackstat statistics and Spotty content

2021-04-06 Thread erland

rlem wrote: 
> Thanks for even thinking out loud for possible solutions.
> Unfortunately this is all way above my head - but if you want me to test
> some stuff, please do tell!
> 
> Best, 
> R

Take a look at the new Ratings Light plugin. If I remember correctly it
includes some integration with Dynamic Playlist plugin and possibly it
might include the functionality you need. It’s also actively maintained
so you can wish for new features if something is missing.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114317

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Trackstat statistics and Spotty content

2021-04-06 Thread erland

erland wrote: 
> 
> Someone would have to check the plugin code but it wouldn’t surprise me
> if it was something similar to the issue you corrected in 8.2 for
> Dynamic Playlist plugin:
> https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=1002453=1#post1002453
> .

I noticed that the plugin code have if statements like:
ref($selectedItem) eq 'Slim::Schema::Track'

Could this cause the issues if a RemoteTrack object is returned from
objectForUrl ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114317

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Trackstat statistics and Spotty content

2021-04-06 Thread erland

mherger wrote: 
> > There’s only 1 downside: it appears that the current
> Trackstat-Dynamic
> > Playlist combo can only make use of the “date added” and the
> rating
> > itself:
> 
> I believe this topic has come up before: the TrackStat plugin seems to 
> filter URLs by the file:// prefix somewhere in its code. This would 
> exclude online tracks from its magic. Which made sense a few years back,
> 
> but is rather limiting nowadays.

Are you sure ?
I think I only filer on tracks.audio=1 but I might have done some
unintentional filtering that cause it to not work.

Someone would have to check the plugin code but it wouldn’t surprise me
if it was something similar to the issue you corrected in 8.2 for
Dynamic Playlist plugin:
https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=1002453=1#post1002453

Unfortunately I probably won’t have the time to look at it myself in the
near future and I suspect there might be unintentional bugs in the
plugin code also causing it to not work with remote tracks.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114317

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-27 Thread erland

prabbit wrote: 
> 
> Any hints on how to troubleshoot or proceed?
> 

Try shutdown LMS and check the directory /usr/local/slimserver/Cache/
for files named something like “PluginCache-SQLPlayList" and delete
those, don’t remember the exact name but it should be something with
plugincache and sqlplaylist. Also, make sure “Template directory”
parameter in SQL Playlist settings page points to an empty directory and
do NOT use the “ Download last version of existing playlists” link in
the plugin. My download server for templates are no longer available and
using the link can corrupt template data.

The error like the one you are getting typically occurs when the
template directory points to a path where other files than sqlplaylist
templates exist, I think it defaults to playlist dir which can contain a
lot of other files that potentially cause issues. Using the download
link in the plugin can also result in corrupted data.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-23 Thread erland

MillmoorRon wrote: 
> I am trying to get a list of my top rated tracks to export to a file. 
> 
> Using Database query I have this...
> 
> 
> 
> which returns the URLs (with lots of %20) but I'd like a more human
> readable list showing "Artist - Album - Title"
> 
> Anyone know how to achieve this? (my SQL skills are not great!)

I’m not behind a computer right now so I can’t give you the exact query
but the SQL at the bottom of the following page shows how to join in
album and album artist:
https://wiki.slimdevices.com/index.php/SlimServerDatabaseStructure.html
You want to show contributors.name, albums.title and tracks.title I
think.
Let me know if this doesn’t help and I’ll take a look at it the next
time I’m beside a computer and have some time.
If you want to show track artists it gets a bit more complicated and
you’ll need to join in contributors via contributor_track



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-20 Thread erland


MrD wrote: 
> 
> You mentioned a bug in the refresh logic.  Is the bug in the "if
> (musicbrainz)" logic of the refresh tracks?

Yes



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-19 Thread erland


MrD wrote: 
> 
> I have not looked deeply, but will this create an unbounded growth in
> any TrackStat table? (edit: actually you said that above)
> 
> I'll probably end up living with it :D.

I think the duplicated entries will be duplicated each time refresh runs
so it will quickly be a lot of duplicate entries for same url in
TrackStat tables. Disabling musicbrainz support in TrackStat settings
will skip the musicbrainz part of the refresh operation and stop the
problem from getting worse.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-18 Thread erland

MrD wrote: 
> 
> I was having a issue with restarts and rescans of my server taking 90
> minutes to 2 hours on a 20k library with TrackStat enabled.
> 

The temp table will be empty unless you have moved/renamed music files
and don’t have multiple files with the same musicbrainz id. So if an
index i temp table solves the issue it might be an indication of:

1. You have moved or renamed a lot of files since last refresh and the
refresh does its thing and reconnect statistics to the new/changed
files

Or

2. You have multiple files with same musicbrainz id and in this case the
refresh operation will duplicate the entries for these files in
track_statistics table every time refresh runs due to a bug in refresh
logic. Typical scenario when you might have multiple tracks with same
musicbrainz id is when a track exist both in a normal album and in a
compilation album.

If it isn’t caused by 1 you are likely affected by 2 and in this case
I’d strongly recommend either removing musicbrainz tags from the files
that exist in several places in your library or disable musicbrainz
support in TrackStat settings. Multiple entries for same track in
track_statistic table will otherwise cause unpredictable behavior for
these tracks and it’s going to get worse every time TrackStat refresh
operation runs.

Having said this, the TrackStat refresh operation can be slow due to
other things than musicbrainz, it’s possible to see in server.log which
parts of refresh that take long time if enabling info level debugging on
plugin.trackstat.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-18 Thread erland

MrD wrote: 
> 
> I would be happy to share with anyone that is interested, but I dont
> want to own the plugins :D

Just post either a diff/patch file or the Storage.pm (which I guess you
have changed) in this thread and maybe someone will pick it up and
decide to distribute a version where it’s fixed. Replacing a file should
be easy enough for people who have issues with long start-up times and
want to continue using TrackStat with refresh operation enabled.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-18 Thread erland

bluetdi wrote: 
> A short question, if I missed something
> 
> Does the SDT and CCH plugin also work now with the spectrummeter and the
> VU-meter on a Pi with piCore and a 7“ screen?
> 
> I tried it about 2 years ago with the original plugins that need a
> licence (which I have as lifetime) and it did not work with the
> jive-version of pCP.

The latest version of Custom Clock is from July 2017 when the license
checks were removed, so that’s over three and a half year ago. As far as
I know I’ve never corrected anything related to pCP. If I remember
correctly I think I’ve seen a patch or patched version of Custom Clock
that makes it work on some platform but I don’t remember if it was on
pCP or some other platform.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-17 Thread erland

xrad wrote: 
> 
> I guess for now I'll take Erlands repo on github but I might be a good
> idea to resolve this somehow. Likewise, please do let me know if I'm all
> wrong here.

The built-in repository works works, so don’t add any extra
repositories.
I’ve no longer time to maintain or verify my plugins with new LMS
versions so you won’t see them in LMS 8.* unless you activate the “Use
unsupported extensions” option.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-09 Thread erland


madpatrick wrote: 
> Hello Erland,
> 
> Thanks for replying.
> Your complete were right. My webserver redirects to HTTPS. This has been
> so since a few years, but propobly the font was in the cache of my touch
> or something.
> Move the fonts to another HTTP location and it is working
> 
> Is it possible to placve the font on the Touch locally and link it this
> ?

I think you should be able to put the ttf file in
/usr/share/jive/applets/CustomClock/fonts/ or /usr/share/jive/fonts/ 
This is the code that handles the download and if I read it correctly it
checks the above directories before it tries to download the font.
https://github.com/erland/squeezebox-customclock/blob/0b6b488a609898e10ae19e9aef64e1637a87e1f8/src/CustomClockApplet.lua#L1532



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] iPeng support thread

2021-03-08 Thread erland

pputzer wrote: 
> 
> Strangely, if I try to control the player volume via iPeng, it tends to
> jump around. Even just opening iPeng consistently increases volume by 5
> points. Has anyone else reported something like this before? (At first I
> thought I had misclicked somehow, but that not what is happening.)
> 
Can’t say it’s consistent but I’ve also sometimes seen volume changing
when opening iPeng. I don’t use Material skin but I sometimes change the
volume on the Radio using its volume knob. I’ve mostly seen it on the
part of my setup where I’ve two synchronized players (Touch + Radio).
Not sure if it’s related to synchronization, the volume on the iOS
device, the volume being changed outside iPeng or something totally
different.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=51929

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-08 Thread erland

madpatrick wrote: 
> Hi
> After a lot resets and trails i found out the using fonts in Custom
> Clock was the problem.
> I was using some custom fonts in .zip file for years.
> Now these lead to a freeze of my Touch.
> 

Is the font url still available ? Has the site it’s hosted on switched
to https ?
The Touch won’t be able to download fonts using https. Even if the url
is http the site could redirect it to https and that would cause the
same problem.

Post the font url if you aren’t sure and someone here might be able to
help you verify it.

Not sure why it would hang the whole Touch but I might have assumed that
the fonts could be downloaded in the Custom Clock code.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-08 Thread erland

PasTim wrote: 
> Thanks for that.  Very interesting.  Do you think there is there any way
> of intervening after LMS has deleted library.db and manually resetting
> the contents before any damage is done to related data?

I don’t  think this can be fixed without changing the Multi Library
plugin code.

If the schema_clear.sql script is used to clear the database its strange
that we see a problem at all because then the Multi Library tables
shouldn’t be cleared even during a full rescan.
https://github.com/Logitech/slimserver/blob/public/8.2/SQL/SQLite/schema_clear.sql
>From my memory the whole library.db was deleted during a full rescan but
I can’t  find this in the code at the moment so it might have changed
since Multi Library plugin was implemented. If library.db is deleted I’d
expect the library ids to always start over from 1 after a full rescan.
It’s also possible to reset it manually:
https://www.designcise.com/web/tutorial/how-to-reset-autoincrement-number-sequence-in-sqlite
However, please remember that the hash order is still unpredictable if
you have more than a single library, so resetting the AUTOINCREMENT
column isn’t really a solution.

The solution as I tried to indicate in my previous post is:
> 
> 
> A solution to this really need to store an id in either the library
> configuration file or in the prefs file of each library and replace the
> AUTOINCREMENT column with a manually updated integer and make sure to
> take the value from prefs/library configuration when creating the row in
> multilibrary_libraries table, which happens here:
> https://github.com/erland/lms-multilibrary/blob/28d437d83235aceaac6e47b389727d46488de139/src/Plugin.pm#L352
> It’s probably easiest to store Id in prefs because then it can be
> completely handled in initDatabaseLibrary function and doesn’t have to
> affect other parts of the code.
> 
Basically:
- Redefine multilibrary_libraries.id to not be an AUTOINCREMENT column.
You should instead in the code manually calculate the next free id when
a new library is created and its row is inserted in this table.
max(id)+1 should work.
- Make sure to save the library id in the prefs file for each library
created
- When initializing a library in the table, take the id from the prefs
file
Should be possible to implement the whole thing in initDatabaseLibrary
function in MultiLibrary/Plugin.pm

A logic like this will make sure the ids stays the same as long as you
don’t delete the prefs file or renames the library definition file.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-04 Thread erland

PasTim wrote: 
> I have, on very rare occasions (I think only when completely resetting
> LMS), seen the id numbers increase, and rather than rescanning I have
> changed the ids back to where they were (1 and 2 on my system).

I think I might have identified the issue, unfortunately I think it’s a
reasonably big issue and I’m a bit surprised that it works predictable 
for anyone after a full rescan.

As the logic works the multilibrary_libraries.id values is reused as
long as a matching multilibrary_libraries.libraryid is found in the
table. This means that id should never change purely due to an upgrade,
new/changed files rescan or playlist rescan. However, if the contents of
library.db is cleared, which happens in a full rescan or a new
installation, the libraries will be re-created from scratch and when
this happens they can potentially get new ids. As long as
multilibrary_libraries table isn’t cleared the libraries should keep
their id.

The order the libraries are recreated will affect which library that
gets the lowest and highest id. This order is unfortunately very
unpredictable as it’s just the order of the hash in the following
for-loop:
https://github.com/erland/lms-multilibrary/blob/28d437d83235aceaac6e47b389727d46488de139/src/Plugin.pm#L326
Sorting the hash keys would make it a bit more predictable but it would
not be a solution since creating a new library with a file name that’s
alphabetically in the middle of existing libraries would cause itself
and the libraries after it to get a new id after next rescan.

I’m also not 100% sure the AUTOINCREMENT id column always is reset so
the first library created gets id 1. If library.db is completely deleted
it probably will but I don’t remember exactly how this is handled in the
full rescan. If AUTOINCREMENT is reset to 1 during a full rescan and the
hashing order hasn’t been changed due to Perl upgrade or similar, the id
would probably be the same after each full rescan. But the hash order is
very undefined and can likely change due to other things than Perl
version, so I really think it’s pure luck that this works reliable for
anyone with more than a single library.

If someone deletes a library and re-creates it, it will likely get a
higher id and after next full rescan the id will be decreased if
AUTOINCREMENT results in id starting from 1 again. 

So to sum it up, I have to admit that the implementation is really a
mess and I’m surprised I didn’t notice it myself when implementing the
plugin.

A solution to this really need to store an id in either the library
configuration file or in the prefs file of each library and replace the
AUTOINCREMENT column with a manually updated integer and make sure to
take the value from prefs/library configuration when creating the row in
multilibrary_libraries table, which happens here:
https://github.com/erland/lms-multilibrary/blob/28d437d83235aceaac6e47b389727d46488de139/src/Plugin.pm#L352
It’s probably easiest to store Id in prefs because then it can be
completely handled in initDatabaseLibrary function and doesn’t have to
affect other parts of the code.

Just wrote the above if someone wants to try to fix the problem and
release a new version of the plugin. Personally I’d still advice people
that have the possibility to switch to the built-in virtual libraries
functionality rather than using the currently unsupported Multi Library
plugin. Of course, switching to built-in virtual library functionality
won’t work for everyone since they rely on functionality in Custom
Browse and SQL Playlist plugins which currently doesn’t support virtual
libraries.

I wish I had the time to fix my own mess but unfortunately other things
in my life (family, day work) is currently more important so it’s
unlikely to happen in the foreseeable future, really sorry for this. If
someone else wants to fix it and distribute a new plugin version I’m
happy to try to answer any questions or review smaller code changes.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] TrackStat and Library Views

2021-03-04 Thread erland

cpd73 wrote: 
> 
> However, it is also possible that TrackStat does not use library_id even
> if it is passed.

As far as I know none of my plugins support the library concept. 
Unfortunately my time is limited these days which is the main reason
I’ve decided to stop maintaining my plugins, so unless another developer
decides to take over maintenance there is no plans to add support for
libraries. 

If anyone wants library support I’d suggest encourage the Ratings Light
developer to add support in Ratings Light plugin.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114085

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] 3rd party plugins check box missing!

2021-03-03 Thread erland

Sounds like IO::Socket::SSL isn’t installed, not sure how to install it
in your setup.

I’m not sure if the following might give you a clue?
https://forums.slimdevices.com/showthread.php?107615-Announce-Spotty-v1-1-0=888581=1#post888581



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114077

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Database Optimizer plugin

2021-03-02 Thread erland


Roland0 wrote: 
> 
> Which indices do you mean? The ones taken from TrackStat should use the
> same names afaik.
> 
My mistake, I accidentally looked at the MySQL indexes TrackStat
creates. The SQLite indexes are named the same so no duplicates, sorry
for the confusion regarding this.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114067

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Database Optimizer plugin

2021-03-02 Thread erland

mamema wrote: 
> which indexes do you mean? Except those from the temp table, we've
> discussed in the Dev Area, all needed indexes are there.
> Trackstat creates and deletes indexes and both is working.

I read the code a bit fast, the naming is the same so there aren’t any
duplicated indexes, I just wonder why this plugin creates indexes that
TrackStat already have created, gives me a feeling something doesnt work
properly in TrackStat.

The following should be created by TrackStat:

Code:


  CREATE INDEX IF NOT EXISTS persistentdb.tsurlIndex on track_statistics (url);
  CREATE INDEX IF NOT EXISTS persistentdb.tsurlmd5Index on track_statistics 
(urlmd5);
  CREATE INDEX IF NOT EXISTS persistentdb.tsmusicbrainzIndex on 
track_statistics (musicbrainz_id);
  CREATE INDEX IF NOT EXISTS persistentdb.tshurlIndex on track_history (url);
  CREATE INDEX IF NOT EXISTS persistentdb.tshmusicbrainzIndex on track_history 
(musicbrainz_id);
  CREATE INDEX IF NOT EXISTS trackStatMBIndex on tracks (musicbrainz_id)
  



The following is created by this plugin (if I read the code properly)

Code:


  CREATE INDEX IF NOT EXISTS persistentdb.tsurlIndex on track_statistics (url)
  CREATE INDEX IF NOT EXISTS persistentdb.tsurlmd5Index on track_statistics 
(urlmd5)
  CREATE INDEX IF NOT EXISTS persistentdb.tsmusicbrainzIndex on 
track_statistics (musicbrainz_id)
  CREATE INDEX IF NOT EXISTS persistentdb.tshurlIndex on track_history (url)
  CREATE INDEX IF NOT EXISTS persistentdb.tshmusicbrainzIndex on track_history 
(musicbrainz_id)
  CREATE INDEX IF NOT EXISTS trackStatMBIndex on tracks (musicbrainz_id)
  CREATE INDEX IF NOT EXISTS persistentdb.tsurlmdmbIndex on 
track_history(urlmd5,musicbrainz_id)
  CREATE INDEX IF NOT EXISTS persistentdb.tsurlmdmbStatIndex on 
track_statistics(urlmd5,musicbrainz_id)
  CREATE INDEX IF NOT EXISTS trackStatMBURLIndex on tracks 
(musicbrainz_id,urlmd5,url)
  



If the extra 3 indexes this plugin creates improve TrackStat performance
it would be great if someone have the time to release a new version of
TrackStat that includes them.

And the tracks table trackStatMBIndex index should really be created by
core LMS if it helps performance since core LMS owns the tracks table.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114067

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-03-02 Thread erland


SlimChances wrote: 
> This is a bit over my head Erland but I ran a Free Form Query and get
> this result, does that tell us anything?

Yes, it says that you have two libraries with id 5 and 6, would be
interesting to see if the ids changes if you run it again after you
upgrade LMS or does something that trigger the playlist library
parameter to be reset.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Database Optimizer plugin

2021-03-02 Thread erland

Hopefully someone will take the time to update TrackStat so it creates
the indexes by itself. The intention is that TrackStat should already
today create some of the single column indexes but maybe that doesn’t
work since you have them in your plugin ? As it’s done now I think the
indexes will be duplicated since you use different index names,
duplicate indexes might decrease write performance.

The index in tracks table should probably be added to LMS code instead
of having it as a plugin. The reason TrackStat creates an index in
tracks table is just because it was harder to convince/get core
developer to do additions to the core 15 years ago, should be easier
today when LMS development is driven by community.

Have you performed any tests to see which TrackStat operations that are
improved ?

Having them in your plugin as a first step could be a good idea to
verify how much improvement it results in, so I’m not criticizing your
work just mentioning the above since I think it’s the next step to take.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=114067

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-02-28 Thread erland

SlimChances wrote: 
> I have several multilibrary files but could not find
> multilibrary_libraries table. Where is that located? Looked where the
> multilibrary_standard are located and in the Cache file for LMS. I am
> using Linux Mint
> 
It’s in the database you can install Database Query plugin and create a
new query of those “Free form query” with the query statement:

Code:


  select * from multilibrary_libraries
  


Running the above query will list the libraries in the database together
with their ids


SlimChances wrote: 
> 
> EDIT: I use predefined SQL should I use Customized?
Yes that’s a way to see the library identity, you can choose Customized,
copy and post the raw SQL text that displays. If I remember correctly
you should after copying the text be able to go back without saving to
keep the playlist in its predefined form. This should give us the
library id when the playlist works. You can then repeate the procedure
after you have upgraded and re-selected the library to make it work
again. I suspect the library id in the SQL text will then be a different
number.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-02-28 Thread erland

SlimChances wrote: 
> Yes, where the library was marked as FLAC or MP3 there a blank space and
> I have to reenter

Kind of sounds like the library Id changes. 
If this is the case it should be possible to see by looking at contents
of multilibrary_libraries table which contains all available libraries
and their id. I know someone else also reported this, but I’m not sure
why it happens for some people but not for others.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-02-28 Thread erland

SlimChances wrote: 
> Here is an example. I have 2 libraries, Flac and MP3. Under Dynamic
> Library I have a favourite configured for "Random Albums for the Decade"
> that is delimited to the FLAC library. If I update LMS to a new version
> the library selection goes blank and I have to reset it back to FLAC.
> That is not a big deal but I have to do this about a dozen times to
> cover my Custom Browse and Dynamic Library settings. It has been this
> way since I installed Erland's plugins 7 years ago or so
> 
The intention is that the settings should survive LMS upgrade. 
If my memory is correct the library configuration is stored in the path
you have specified in MultiLibrary plugin and the library settings in
the playlist is stored in the path you have specified in SQL Playlist
plugin. As long as both these places are stored on a persistent disc
(not ram disc) it’s intended to work. It’s even intended to work in a
complete new installation as long as the above configuration paths/files
are restored. So there must be a bug somewhere causing this,
unfortunately I don’t have the time to investigate it myself but maybe
some other community member with debugging skills can look into it.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Custom Scan - Multi Value tags

2021-02-17 Thread erland

What’s “Separator for Multiple Items in Tags” set to in LMS Settings/My
Music ?
Don’t remember if it has a default value but try explicitly specify a
comma there if that’s the separator character you use.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113965

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-02-07 Thread erland


SlimChances wrote: 
> I have been using Custom Browse for several years including installs
> with LMS 8 and 8.1 sucessfully. I now find that a number (most) of the
> menus do not return any results. These include album,artist,genre, new
> artist, new album. menus that do get results are year and playlist. I
> know that the plugin is not supported as it once was but I was hoping to
> get a bit more use from it. My last attempt to correct this issue was to
> upgrade to LMS 8.2 as it has better support for Erland's plugins. Also
> not working quite right is Trackstat which just returns and empty screen
> when selected but I still appear to have tracks with ratings. Everything
> was working a short time ago, not quite sure what has changed.

Any errors in server.log file ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] CustomScan: How can I sort genres individually?

2021-02-07 Thread erland

This was the plugin I remembered:
https://forums.slimdevices.com/showthread.php?79778-Announce-PostScan-plugin-BETA

Not sure it still works in latest LMS releases but if it does it’s
probably the easiest solution to your problem.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113874

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] CustomScan: How can I sort genres individually?

2021-02-07 Thread erland

Could you describe what you are trying to accomplish and why
alphabetically sorting isn’t suitable ?

In theory I think it would be possible to scan GENRE and GENRESORT tags
with the Custom Tag module provided in Custom Scan and build a genre
menu in Custom Browse based on this data. However, depending what you
want to accomplish there might be better/easier solutions. There is
support for custom genre sorting in LMS database and browsing logic but
the standard scanner just puts an uppercase value in the sort attribute.
Depending what you want to accomplish it might be better to have some
post scanning action that adjust the namesort column in genres table to
your preferred sorting order. If I remember correctly someone made a
plugin for post scanning actions a number of years ago, not sure if it
was officially released though.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113874

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-06 Thread erland


flipflip wrote: 
> 
> I think adding executing CLI commands shouldn't be too much of a
> trouble. What would be the API to call? Is there something like
> $client->fireCliCommandString()? I'll have a look.

Slim::Control::Request::executeRequest or $client->execute

You will find sample usage in a lot of places in LMS source code.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] How to make a fresh start with Trackstat?

2021-02-05 Thread erland


radish112 wrote: 
> 
> 
> I've done both scheduled backups and a manual backup, and they seemed to
> go ok. The relationship between the two still seems a little confusing
> to me, but I intend to continue with scheduled backups so if I ever have
> to "restore" from file" I can just point to the most recent scheduled
> backup file as the one from which the restoring will be done.
> 

Scheduled and manual backup does the same thing. If you have setup
scheduled backups the primary use case of a manual backup would be to do
one just before a reinstall if you want to be sure to not loose data
since last scheduled backup. Also please note that there are no
automatic deletion of old backup files, so you may want to delete older
backups to avoid that they eventually take up a lot of disc space.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113844

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] How to make a fresh start with Trackstat?

2021-02-05 Thread erland

radish112 wrote: 
> 
> 1. What procedure can I use to achieve an absolutely fresh start with
> Trackstat? For example, could I achieve this by doing something as
> "simple" as deleting the persist.db file and other files? If so, where
> would I find such files? 
> 

I think the only easy way to do it is to shutdown LMS and delete all
database files. In theory it might be enough to delete persist.db but
I’m not sure all LMS and plugin tables are recreated properly if only
persist.db is deleted so I’d suggest deleting all db files. You can try
only deleting persist.db but be prepared to potentially get strange
issues.

The issue you are seeing is because standard LMS tables also contain the
data so TrackStat will recreate its data based on standard LMS tables on
next startup or rescan. I have to admit that the clear functions in
TrackStat should really clear LMS data also but unfortunately I didn’t
think about that when implementing these functions. If you perform a
full rescan in LMS after clearing the data with TrackStat I think you
should get rid of the data related to files that no longer exist, but
the old data will still be there for files that exist.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113844

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-04 Thread erland


afriend wrote: 
> Hovering over a playlist provided by your *SQLplaylist* plugin:
> > 
Code:

  >   > 
http://127.0.0.1:9000/plugins/SQLPlayList/webadminmethods_edititem.html?item=RATED=1=aa%3Abb%3Acc%3Add%3Aee%3Aff

> > 
> Hovering over a playlist provided by *RatingsLight*:
> > 
Code:

  >   > 
http://127.0.0.1:9000/plugins/RatingsLight/html/rated.html=aa%3Abb%3Acc%3Add%3Aee%3Aff

> > 

Sounds like you have found a bug in Dynamic Playlist plugin. Try adding
a ? or a dummy parameter at the end of the url and it should hopefully
work.
plugins/RatingsLight/html/rated.html?
Or
plugins/RatingsLight/html/rated.html?dummy=1



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-04 Thread erland


afriend wrote: 
> I've added
> > 
Code:

  >   > 
Slim::Web::Pages->addPageFunction('plugins/RatingsLight/html/rated.html', sub {
  > return 
Slim::Web::HTTP::filltemplatefile('plugins/RatingsLight/html/rated.html');
  > } );

> > 
> and now I can call 
> -127.0.0.1:9000/plugins/RatingsLight/html/rated.html-
> 
> But if I put -plugins/RatingsLight/html/rated.html- into the
> url-parameter of a DPL playlist definition it still gives me that 404.
> But it is possible to call this url from within DPL, no? Or does DPL
> just expect something else or another webroot or...?

Strange, this is what I do in SQL Playlist plugin:
https://github.com/erland/lms-sqlplaylist/blob/5955592540b5c157518edf61a731b5ca484c8813/src/Plugin.pm#L1241

Can you see in the web browser if you hover above the link what it
points to ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-03 Thread erland

afriend wrote: 
> 
> One more thing: there's an optional url parameter: "will be a link in
> the web interface which the user can click on to get to the settings for
> the playlist." 
> I thought I could use this to include a short description (html text) of
> each playlist when people click on the name of the playlist in DPL. But
> somehow URLs like -plugins/RatingsLight/rated.html- always return 404.
> I've tried a bunch of URL variations (up and down the folder hierarchy)
> but I must be missing the correct one. Do you happen to know the correct
> one?
> 
If your structure looks like your github repo you should probably also
have html in the path, like: -plugins/RatingsLight/html/rated.html- 
Don’t remember if you also need to call
Slim::Web::Pages->addPageFunction in the webPages function for the page
for it to be exposed.

afriend wrote: 
> 
> BTW about the scanner/locked db problem: I've been rescanning my library
> over and over again (wipecache and standard) and setting/displaying
> ratings. There are almost always errors involving the locked db.
> Sometimes not even the indispensable $track->url is possible when the db
> is locked. Maybe Trackstat didn't have that exact problem because it had
> its own database. 
> So to avoid unnessary errors and prevent users from thinking they have
> successfully rated a song when they haven't I think I might disable
> setting ratings until a scan is done and in the meantime display a
> message where needed. 
> I hope this won't come across as too harsh. I feel it's safer. Since
> RatingsLight has about 2 users hopefully not that many people will be
> rating songs with RL during a LMS scan and then be terribly outraged.
> :-)
Are you saying it doesn’t even work to read the database during scanning
? Feels strange...
TrackStat writes ratings to both its own tables and the standard tables
so that shouldn’t be a difference.

However, disabling ratings during scanning sounds like a good
compromise, it’s safe and easy to handle. It’s different for TrackStat
since it also sets play count an last played time when playing music and
have an automatic rating feature so I need to handle it since it would
be reasonably likely that people play music during scanning.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-03 Thread erland

afriend wrote: 
> I think that could be it.
> But I'm not sure I understand how these IDs work. 
> Which IDs do I choose if I want to have *multiple* playlists with
> *multiple* parameters - and in a certain order in which they are asked?
> Would would the IDs and the parameters hash look like for these PLs?
> 
> Example:
> > 
Code:

  >   > my %parameter1 = (
  > 'id' => 1,
  > 'type' => 'genre',
  > 'name' => 'Select genre'
  > );
  > my %parameter2 = (
  > 'id' => 2,
  > 'type' => 'custom',
  > 'name' => 'Select decade',
  > 'definition' => "select cast(((tracks.year/10)*10) as 
int),case when tracks.year>0 then cast(((tracks.year/10)*10) as int)||'s' else 
'Unknown' end from tracks where tracks.audio=1 group by 
cast(((tracks.year/10)*10) as int) order by tracks.year desc"
  > );
  > my %parameter3 = (
  > 'id' => 3,
  > 'type' => 'list',
  > 'name' => 'Select percentage of TOP Rated Songs',
  > 'definition' => 
'0:0%,10:10%,20:20%,30:30%,40:40%,50:50%,60:60%,70:70%,80:80%,90:90%,100:100%'
  > );
  > 
  > # PL2 - a playlist with rated songs with a certain percentage of songs 
rated >= 3 stars
  > my %parametersPL2 = (
  > 1 => \%parameter3
  > );
  > $playlist2{'parameters'} = \%parametersPL2;
  > $result{'ratingslight_rated-with_top_percentage'} = \%playlist2;
  > 
  > # PL3 - a playlist with rated songs by decade
  > my %parametersPL3 = (
  > 1 => \%parameter2
  > );
  > $playlist3{'parameters'} = \%parametersPL3;
  > $result{'ratingslight_rated-by_decade'} = \%playlist3;
  > 
  > # PL4 - a playlist with rated songs by genre with a certain percentage 
of songs rated >= 3 stars
  > my %parametersPL4 = (
  > 1 => \%parameter2,
  > 2 => \%parameter3
  > );
  > $playlist4{'parameters'} = \%parametersPL4;
  > $result{'ratingslight_rated-by_decade_with_top_percentage'} = 
\%playlist4;
  > 
  > # PL5 - a playlist with rated songs by genre and decade with a certain 
percentage of songs rated >= 3 stars
  > my %parametersPL5 = (
  > 1 => \%parameter1,
  > 2 => \%parameter2,
  > 3 => \%parameter3
  > );
  > $playlist5{'parameters'} = \%parametersPL5;
  > $result{'ratingslight_rated-by_genre_and_decade_with_top_percentage'} = 
\%playlist5;

> > 

PL5 is correct, the important part is that the keys in parametersPL5
hash matches the id in the hash each key points to.

So for PL2 you need to use a hash that looks the same as %parameters3
but with id set to 1 since the key in parametersPL2 is 1.
And for PL3 you need to use a hash that looks like %parameters2 but with
if set to 1.
And for PL4 you need to use a hash that looks like %parameters2 but with
id set to 1 for the first parameter and a hash that looks like
%parameter3 with id set to 2 for the second parameter.

I would suggest that you use separate hashes for each playlist else it’s
going to be easy to accidentally set the id incorrect.
The id is used for ordering the parameters in the order you like them to
be specified by the user.

If I’d write the plugin today I’d probably remove the id attribute and
only use the keys in the parameters attribute on the top level. As it is
now you need to have the same info in two places. 

Hope this explains it, let me know if it doesn’t  and I’ll try to write
sample when I’m beside a computer.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-03 Thread erland

afriend wrote: 
> I think there's a tiny misunderstanding the SQL code seems to be ok. It
> lists a list of decades to choose from. I've tried the above SQL code
> with SQLplaylist and DatabaseQuery and same there. Both return the
> decades list and SQLplaylist throws an error (only once instead of
> twice) but it also starts the playlist (which my plugin doesn't). 
> So the problem/error comes when I try to act on one of these values
> (execute).
> 
> Since the logs show that the -getNextDynamicPlayListTracks- function
> isn't even called yet (the error happens before) here's the content of
> the -getDynamicPlayLists- function for the 'rated by decade' playlist:
> 
> > 
Code:

  >   > sub getDynamicPlayLists {
  > my ($client) = @_;
  > my %result = ();
  > 
  > my %playlist3 = (
  > 'name' => 'Rated - by DECADE',
  > 'groups' => [['Ratings Light ']]
  > );
  > my %parameter2 = (
  > 'id' => 2, # A number between 1-10
  > 'type' => 'custom',
  > 'name' => 'Select decade',
  > 'definition' => "select cast(((tracks.year/10)*10) as 
int),case when tracks.year>0 then cast(((tracks.year/10)*10) as int)||'s' else 
'Unknown' end from tracks where tracks.audio=1 group by 
cast(((tracks.year/10)*10) as int) order by tracks.year desc"
  > );
  > 
  > # PL3
  > my %parametersPL3 = (
  > 1 => \%parameter2
  > );
  > $playlist3{'parameters'} = \%parametersPL3;
  > $result{'ratingslight_rated-by_decade'} = \%playlist3;
  > return \%result;
  > }
  > 

> > 
> 
> Did I screw something up in there?

Parameter2 id needs to be 1 so it matches the key in parametersPL3 hash.

Not sure if that’s the problem but it’s definitely incorrect.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-02 Thread erland

afriend wrote: 
> I think I'm getting there. I haven't been able to test all my playlists
> yet because I can't get the decades parameter (select decades) to work.
> 
> the sql for the decades parameter (type custom) is:
> > 
Code:

  >   > select cast(((tracks.year/10)*10) as int),case when tracks.year>0 then 
cast(((tracks.year/10)*10) as int)||'s' else 'Unknown' end from tracks where 
tracks.audio=1 group by cast(((tracks.year/10)*10) as int) order by tracks.year 
desc

> > 
> 
> which gives me
> 
> > 
Code:

  >   > Slim::Schema::Storage::throw_exception (121) Error: DBI Exception: 
DBD::SQLite::st bind_columns failed: bind_columns called with 3 values but 2 
are needed

> > 
> 
> As you can see I haven't used your sqllite concat and floor functions.
> But the error is an old one that I already know from when I was using
> SQLplaylist with DPL. The decades query always gave me the very same
> error but DPL just continued regardless (while my plugin breaks).
> So it seems now that I'm doing this in my plugin I need to fix this
> sql error or else I can't use any playlist with decades selection.
> 
> Do you have any idea how to fix this error?

The error comes from line 1164 in Dynamic Playlist plugin code:
https://github.com/erland/lms-dynamicplaylist/blob/6a0c37c4d80e2ebeed307fc3620b757490186b76/src/Plugin.pm#L1164
As you can see it first try to call bind_columns with three parameters
and if that fails it calls it with two. So you would get the error from
the first call but the second should succeed. If you want to get rid of
the error you will need to provide a SQL that returns three columns. The
third column should contain the first character of the second column and
is used to provide quick access to different sections of a long result
sets. I don’t use the third parameter in the decades value in my
playlists since it should be a relatively short result set so no quick
navigation is needed. 

However, I don’t think your issue is caused by the error message it’s
probably something else causing the issue ?
Have you tried enabling debug logging on plugin.dynamicplaylist in
Settings/Advanced/Logging ? You should get a log entry from line 1180
that tells you if your SQL returns any rows:
https://github.com/erland/lms-dynamicplaylist/blob/6a0c37c4d80e2ebeed307fc3620b757490186b76/src/Plugin.pm#L1180
You can also try your SQL in a free form query in Database Query plugin
to see if it returns the expected result.

If you need more help I think it would be best if I could see the whole
code, could be something else than the SQL that’s causing the issue.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-01 Thread erland

afriend wrote: 
> 
> P.S. I had looked at the very TS code you've referenced - and wonderd
> exactly the same thing, if there's another option besides subscribing. I
> posted a question in dev forum, maybe somebody there knows something
> about this...

Michael will likely respond to your question in the developers section
but if there is another way you also need to think about in which
process you get the callback. The “rescan done” event always triggers in
the main process while other scanner callbacks typically is triggered in
the scanner process which means that any queue you have in memory in
main process won’t be available in the scanner process memory space. If
you use subscribe on “rescan done” you know you will get the callback in
the same process as your in-memory queue is. Scanning runs in the main
process if it’s an incremental new/changed files rescan but if you do a
full rescan scanning runs in a separate process.

If you use subscribe you probably want to subscribe on the “rescan done”
event and not just “rescan” as I do in TrackStat. I’d change that in
TrackStat if I wrote it today. Better to subscribe on specific events
with separate subscribe calls and separate callback functions  than
having a big subscribe as done in TrackStat, that way you don’t have to
check which subscribe that triggers in the callback which means less
code in your plugin.

Code:


  Slim::Control::Request::subscribe( \, [['rescan'], 
['done']] );
  
----



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-01 Thread erland

afriend wrote: 
> What I can't understand is why DynamicPlaylist is fine with a custom sql
> playlist definition when it comes via SQLplaylist but not when it's
> supplied by my plugin. I must have made a mistake somewhere, maybe in
> the bind_col? Or some syntax stuff?
> As I said, playlist *1* ("Rated") *works fine*. 
> 
I think the problem is that you can’t send multiple sql statements to
prepare and execute method. SQL playlist splits the string so you have
one string per statement and call prepare/execute for each statement.
You can in the SQL playlist code see the split at line 1069:
https://github.com/erland/lms-sqlplaylist/blob/5955592540b5c157518edf61a731b5ca484c8813/src/Plugin.pm#L1069
As you can see it iterates the result in a för-loop and calls
prepare/execute for each iteration and if it’s a select it additionally
call bind_col/fetch to get the result.

Playlist 1 works because it consists of a single select statement.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-01 Thread erland

afriend wrote: 
> Thanks for making me aware. Since I've never used LMS while it's
> (re)scanning it would have never occurred to me to look for this. And it
> happens with RL too. I can see the code in TS for that.
> What's the easiest way to make LMS execute a function once the scan is
> completely finished? I just mean how/where I triggered the code.
> 

In TrackStat I subscribe on the “rescan” event
https://github.com/erland/lms-trackstat/blob/fe583776eafce682086a0cc2731a8676b67652f6/src/Plugin.pm#L3998

And process the queue when “rescan done” triggers:
https://github.com/erland/lms-trackstat/blob/fe583776eafce682086a0cc2731a8676b67652f6/src/Plugin.pm#L4145

Might be better ways these days, don’t remember what was added when the
other scanner hooks was introduced.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-02-01 Thread erland

afriend wrote: 
> 
> I'm working on the DynamicPlaylist integration part. And it seems I have
> a sql problem. I've successfully managed to rebuild a no-parameter
> playlist. But I have some other PLs with temporary tables. I've been
> using them for a long time with DynamicPlaylist (via custom SQLplaylist
> definitions). But they don't seem to work directly in DPL. Is it
> possible that DPL has a problem with temporary tables? Or that
> SQLplaylist does some translating I'm missing? Here's a simplified
> version with one parameter that returns zero tracks:
> 
> > 
Code:

  >   > $sql = "DROP TABLE IF EXISTS randomweightedratingshigh;
  > DROP TABLE IF EXISTS randomweightedratingslow;
  > DROP TABLE IF EXISTS randomweightedratingscombined;
  > 
  > create temporary table randomweightedratingslow as select tracks.url as url 
from tracks
  > join tracks_persistent on
  > tracks.url=tracks_persistent.url and tracks_persistent.rating 
<= 49
  > limit 60;
  > 
  > create temporary table randomweightedratingshigh as select tracks.url as 
url from tracks
  > join tracks_persistent on
  > tracks.url=tracks_persistent.url and tracks_persistent.rating > 
49
  > limit 40;
  > 
  > create temporary table randomweightedratingscombined as 
  > SELECT * FROM randomweightedratingslow 
  > UNION 
  > SELECT * from randomweightedratingshigh;
  > 
  > SELECT * from randomweightedratingscombined 
  > ORDER BY random() 
  > limit 20;
  > 
  > DROP TABLE randomweightedratingshigh;
  > DROP TABLE randomweightedratingslow;
  > DROP TABLE randomweightedratingscombined;
  > ";
  > 

> > 
> 
> It doesn't seem to work in Database Query either. Seems only
> SQLplaylist can work with this. Any idea why?

How do you integrate ?
I you integrate by implementing getNextDynamicPlayListTracks I guess you
are aware that you need to return an array of Slim::Schema::Track
objects and not the string with the sql statement. You need to execute
the sql yourself and execute each sql statement separately, you can
probably steal some code from SQL Playlist plugin function
executeSQLForPlaylist:
https://github.com/erland/lms-sqlplaylist/blob/5955592540b5c157518edf61a731b5ca484c8813/src/Plugin.pm#L1052
It splits the statement string into separate statements, one per row,
and execute the statements and lookup Slim::Schema::Track objects by
calling the getTracksForResult function also included in SQL Playlist
code. You can probably remove a large part of the code since you
probably don’t need to cover all variants SQL Playlist supports.

If you don’t want to execute the sql yourself you should instead
integrate with SQL Playlist plugin. I think SQL playlist separate
statements by new line character so you can’t write a statement on
multiple rows as you did in your forum post.

The free form query in Database Query only supports a single statement
if I remember correctly so that’s probably the reason that doesn't work.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-31 Thread erland

Not sure if Ratings Light have the same problem as I had with TrackStat
but in TrackStat it isn’t possible to write to the database during
scanning, if I remember correctly the database just gave an error. If
the same thing happens in Ratings Light you might want to handle this.
In TrackStat I queue up the changed ratings during scanning and persist
them to the database when scanning is finished. However, it could be
that this doesn’t happens in Ratings Light since you store ratings in
the standard tables and not in separate tables as TrackStat does.

Anyway, just mentioning it so you are aware of it if you get similar
issues.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-30 Thread erland

afriend wrote: 
> 
> One thing that's bugging me a bit is that when I rate a song on my Boom
> or somewhere else the Boom (Music Information Screen using the RL
> titleformat) doesn't display the changed rating unless I do something
> that causes an information pull from LMS (pause/resume or restart the
> track). Anything I can do on the plugin side like push the changed
> rating to the client? I'm not very optimistic because my understanding
> is that this depends on how and when the client asks LMS and the plugins
> for information (subscribe...) but I thought I'd ask.
> 

Looking at my code I can see that I after changing a rating makes a call
to:

Code:


  Slim::Music::Info::clearFormatDisplayCache();
  


I also use $client->showBriefly in a number of places if I think the
user would like to get feedback on the device display that the operation
succeeded. Don’t remember I any of these things might be related to the
problem you are seeing, suspect I had the same issue before I added the
call to clearFormatDisplayCache but I might remember wrong (it’s more
than 10 years ago). Ask a question about it in the Developers section if
you don’t get it to work and mherger can probably answer it quickly.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-30 Thread erland

afriend wrote: 
> 
> P.S. I forget. Do you know the command to get the player model name
> (baby, boom...)  using the client id (player MAC address)?

If you are in the perl code i think you can do something like: 

Code:


  Slim::Player::Client::getClient($clientId)->model
  


Not beside a computer right now but it’s something like that.

However, if you are thinking of coding model specific logic you should
be careful since there are model names (not officially known) also for
third party players. The Slim::Player::Client object also have methods
to check the characteristics of the player and these are more suitable
to use if you want to have specific logic for a player with a specific
feature.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-30 Thread erland

afriend wrote: 
> 
> Is there an easy way to make DynamicPlaylist pick up SQL Playlists (not
> templates) bundled with my plugin (like CustomSkip picks up
> CustomFilters from other plugins)? I only found code referring to
> templates in Trackstat. Seemed overkill for the task I have in mind.
> 

You can integrate with Dynamic Playlist plugin directly which means that
you need to provide two methods, see here for more info:
https://wiki.slimdevices.com/index.php/Dynamic_Playlist_plugin#Dynamic_playlists_as_separate_plugins
This is how SQL Playlist plugin integrates with Dynamic Playlist and it
works without SQL playlist plugin being installed. Your plugin will be
called by Dynamic Playlist when it needs more tracks and it’s up to your
plugin to return the tracks that should be added.

Alternatively you can (as you have noticed) integrate with SQL Playlist
plugin, more information about this are available here: 
https://wiki.slimdevices.com/index.php/SQL_Playlist_plugin#Playlist_types_as_separate_plugins
This is how TrackStat integrates to provide statistics related
playlists. You will just provide a template and the rest will be handled
by SQL Playlist plugin. Advantage is mainly if you like the user to be
able to customize the playlist without you having to provide the code
for it.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Dynamic Playlist plug-in - can't find it

2021-01-27 Thread erland

dbinder101 wrote: 
> I should have looked at the log, but I didn't. I'll install 8.2 again
> and make sure to look at it if it crashes again.

If it just hanged and didn’t crash it could be related to the refresh
operation in TrackStat if you have TrackStat installed. It has been
known to hang for a while in large libraries and the result is that it
looks like LMS never gets accessible after it has been started. The
refresh can be disabled in the TrackStat settings page, either
completely or partly by disabling musicbrainz support. Often it’s the
refresh part related to musicbrainz tags that cause longest hang.

I haven’t seen anyone else saying that Dynamic Playlist plugin cause LMS
to crash and I suspect you aren’t the first one to use it with 8.2 so
it’s probably something specific in your setup that’s causing the issue.
However, as Michael says, the server.log should tell us more.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113779

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-25 Thread erland

flipflip wrote: 
> Somewhere in the forum I read that "LMS now comes with built-in rating
> support" and (I think) "[which] can be enabled in settings". I didn't
> find any reference to this besides some code, which appears to be some
> API for getting/setting track ratings.
> Am I right in assuming that there is no UI for getting/setting ratings
> in vanilla LMS? And hence we need to implement that ourselves? Which is
> what the Ratings Light plugin is all about?
> 
> I do see my (Ratings Light) ratings in persist.db in table
> tracks_persistent. I guess that table is from vanilla LMS and the plugin
> is populating the "rating" field (column), right?
> 

I haven’t actually used any later LMS than LMS 7.8 so I should probably
not answer this, but to my knowledge LMS has built-in support to
internally store ratings and to notify third party interfaces (Material
skin, iPeng and similar) the rating of currently playing track. I think
LMS standard is able to show rating to users but I don’t think it makes
it possible for a user to set ratings without a third party plugin/app
for this.

A long time ago the following commit was made for pluggable rating
implementations but I don’t remember if it’s actually used by anyone:
https://github.com/Logitech/slimserver/commit/1752f56057ecb26a4a45fe87a7226cc4bc0b172c
I think the idea was to make it possible for multiple plugins to provide
rating functionality and let the user choose which one to use. The
ratingCommand function in Commands.pm sounds like a way to set/get
rating but I suspect no third party client/skin actually is using that,
probably because I never got around to implement the call to
registerRatingImplementation function in TrackStat.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2021-01-25 Thread erland

afriend wrote: 
> Trying to add even some basic support is going to be very tricky for me
> because I don't own a working IR for LMS (devices) that I could use for
> testing.
> I can't make any promises but if I come up with something I'll let you
> know here in this thread.

If SoftSqueeze still works you should be able to use that for testning,
it emulates the old classic Squeezebox devices including the remote. Not
sure IR button control is possible on the new devices (Touch/Radio), if
I remember correctly they process the IR commands on the device so it
isn’t possible to override them in a plugin.

TrackStat implements IR functions to set rating when holding a number
button if you like some code to look at. Let me know if you need help
and I’ll try to see if I can remember how it worked.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] LMS and Apple

2021-01-21 Thread erland

rkrug wrote: 
> 
> So while I always use / return to the LMS ecosystem, there is
> essentially no integration with the Apple ecosystem, apart from iPeng
> which is really great (but slightly outdated?).
> 
> I am really wondering: what is the reason, why there is no further
> integration with the Apple ecosystem? Is it because of missing Apple
> users who can also code? Is it because of the limitations of the Apple
> ecosystem? 
> 
I doubt there are enough users using LMS these days willing to pay for a
new client side iOS app, this probably makes it less interesting for
someone who have the knowledge and interest to do it for the money. The
remaining opening would be for someone who are dissatisfied with iPeng,
have the knowledge/time and want to do it for him-/herself or the
community without a need to cover the costs/hours spent. I think most
people with the knowledge are just happy enough with iPeng as long as it
works with the latest iOS devices. Making something that is better than
iPeng is going to be significant amount of work and the pricing scheme
in App Store is designed to sell to masses rather than the relatively
few geek users still participating in this community.


rkrug wrote: 
> 
> On the server side, the problem is likely more difficult, as I do not
> know if e.g. Apple Music integration could be managed from any other
> platform than a Mac. But still - it should be possible to get this
> integration for a Mac. I just saw there is at least a web API to
> https://developer.apple.com/documentation/applemusicapi (The Apple Music
> API is a web service that lets you access information about the media
> found in the Apple Music Catalog and the user's personal iCloud Music
> Library. ) and also https://developer.apple.com/documentation/musickitjs
> (MusicKit JS lets users play songs from Apple Music and their Cloud
> Library inside your JavaScript app.). 
> 
I’m pretty sure the limitation here is Apple. In theory you might be
able to hack around MusicKit JS but I’m pretty sure Apple doesn’t
legally allow you to use it to stream music to other devices, the
intention with MusicKit JS is likely just to be able to play Apple Music
in a web browser shown to the end user. Apple basically wants to be in
control on which type of devices Apple Music can be played. Licensing
services to other hardware manufacturers doesn’t seem to be part of
their business model, they want to handle the whole ecosystem themself
as long as possible. MusicKit JS likely exists only because it makes it
possible to sell Apple Music to a significant amount of Windows and
Android users. It’s not a focus area for Apple and just exists because
they would loose too many Apple Music subscribers if they didn’t offer
it.

Disregarding the legal risks someone trying to hack around MusicKit JS
would take I also doubt there are enough users who would be willing to
pay for a LMS integration to cover the development/maintenance costs.
Best hope is likely that someone tries to hack around it and offer
something for free, that could possibly make it go under the radar of
Apple lawyers. Would probably have to be done by someone who don’t care
if they get banned as Apple Developer by Apple. If you don’t charge
people for the integration Apple might be satisfied by shutting down
your integration and banning you from further development.

rkrug wrote: 
> 
> LMS is great, and I even consider getting a Qobuz subscription only for
> LMS. But I would prefer if LMS would integrate more with the Apple
> ecosystem and I would happily give the money I would pay for Qobuz to
> the further development of LMS and the LMS - Apple integration.
> 
There are probably a few more people that would pay 10-20 USD/month but
I’m pretty sure we are talking about 10-20 people rather than 100 or
1000. The situation was different 2009 when Logitech still sold
commercial Squeezebox hardware to the massmarket. Most people still feel
like a one time cost of 10 USD is a lot and the fact that there is no
massmarket Squeezebox player hardware doesn’t improve the
situation/interest.

The main reason I’m still using Spotify instead of Apple Music is that
Spotify is supported in LMS so I do have the same wish as you have but
I’m not sure I’d pay 20USD/month (10 to Apple and 10 for LMS
integration) for Apple Music.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=

Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-15 Thread erland

cpd73 wrote: 
> I did consider, and implemented, adding the library to the pinned items
> - but backed out of the change. When pinning a 'My Music' item with a
> library selected I guess I could prompt as to whether to save the
> library ID as well.

Did you have to do anything specific in Material skin to make it work
for Custom Browse/Multi Library based menus ?

If you didn’t it feels like it would be preferred if it was an option
when saving a library in LMS to specify if it should be shown on top
level, that way it would work with most user interfaces/apps and not
just with Material skin. Not sure if Michael have the time to look into
it right now but it feels like a good general feature to improve the
virtual library functionality. Would probably be possible to implement
in a plugin also if someone would be willing to implement one.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-15 Thread erland

jeroen2 wrote: 
> Yes, I got that. Thanks. Maybe my use case is very specific. They way I
> have been using Multi Library in combination with Custom Browse, I now
> have 5 top level genres pinned to the homescreen (the top levels genres
> are ste in Multi Library as a collection of 5 or 10 related genres, like
> Classical Piano, Classical Bach, etc...) When I go to that top level
> genre I can either go directly to all albums, or browse sub genres first
> (using 'shallowgenre" from Custom Browse).
> 
> I would be happy to use any other tools available to achieve something
> similar, but my main objective is to always reduce the number of choices
> to something digestible. So I don't want more than about 50 albums per
> genre, and I don't want to scroll through a super long list of genres
> either.
> 
Wouldn’t it work similar if you created one virtual library for each one
of the few top level menus ?
Or do you get a lot of extra navigation steps with the virtual library
functionality? 

As previously mentioned, I haven’t used the virtual library
functionality myself, so forgive me if I’m missing something obvious.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-14 Thread erland

erland wrote: 
> I suspect Michael just missed to add Multi Library to the unsupported
> repository, I haven’t seen anyone saying that it doesn’t work. Creating
> a pull request or letting Michael(mherger) know some other way that it
> works should take care of it. He might spot this message if we are
> lucky.

Michael have now added the Multi Library plugin to the unsupported
repository so it can be installed if you use 8.1 and activate
unsupported extensions in LMS Settings/Plugins. His responses to this
thread keeps ending up in an old thread due to some bug in the forum
mail gateway so I thought I’d mention it here also. However, as I
previously said, I’d recommend everyone using Multi Library to try if
the built-in virtual library functionality fulfill your needs.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-14 Thread erland

PasTim wrote: 
> I tried this. I set the genre to just classical.  All my classical music
> has 2 genres, one classical, and one the genre within that.
> 
> It doesn't return anything when I select library views. I'm probably
> being very dim, but I'm baffled.
> 
> Still, assuming I got this to work at LMS menu level, what fields do I
> look for in the database to run my custombrowse menus?  I have 22
> Classical music menus, and several non-classical, all dependent on the
> library. I'm willing to do the work, but how?

If you need help understanding how to define and use virtual libraries I
suggest you create a separate thread for this, the people that can help
you might not read my plugin thread. I can’t help much myself since I
haven’t actually been using the functionality myself.

Some people use Custom Browse to browse custom tags scanned with Custom
Scan and for these the built-in virtual library functionality wouldn’t
be enough without some coding since advance search functionality can’t
be used to define the library. The following thread indicated that there
might be some work going on to handle custom tag scanning and browsing:
https://forums.slimdevices.com/showthread.php?113201-Genres-moods-themes-and-styles

Letting Michael and other community developers know what’s missing in
the virtual library functionality (in a separate thread) is a good idea.
Even better if people could let them know how it can be improved to
cover the functionality needed to be able to replace Multi Library and
Custom Browse plugins. The disadvantage of Multi Library and Custom
Browse plugins has been that due to their flexibility some users have
been able to customize the browsing to their needs instead of requesting
feature improvements to the standard browse menus in LMS. Some of the
functionality provided by Custom Browse and Multi Library today would
also be a lot easier to implement in latest LMS release due to the
changes introduced together with virtual libraries under the hood.
Knowing Michael’s time is limited I suspect functionality missing that
isn’t easy to add to the core would have to be handled in third party
plugins also in the future, but a new small actively maintained plugin
providing a specific feature would be better than a gigantic unsupported
plugin trying to do it all.

Custom Browse plugin would be able to use built-in virtual libraries in
theory but you would have to define the SQL/XML for each menu level
yourself so I doubt it would be worth the effort considering the Custom
Browse plugin also is going to break soon or later. If you still want to
try the SQL/XML route the database tables for virtual libraries was
defined in database schema version 19 and 20:
-
https://github.com/Logitech/slimserver/blob/public/8.1/SQL/SQLite/schema_19_up.sql
-
https://github.com/Logitech/slimserver/blob/public/8.1/SQL/SQLite/schema_20_up.sql
You would have to join with these tables instead of the multilibrary_
tables.
However, as mentioned, it’s going to be a lot of work if you want to
create a full menu structure.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-14 Thread erland

jeroen2 wrote: 
> 
> It does work (even in LMS 7) but selecting this in Material is not very
> user friendly. I'll play around with it a bit more tomorrow..

If virtual libraries doesn’t work good with Material skin is a good idea
to let the developer of Material skin know to see if something can be
improved. It’s a lot more future proof to achieve a solution using
built-in functionality and actively supported plugins (like Material
skin) than relying on unsupported third party plugins that’s going to
break soon or later.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-14 Thread erland

PasTim wrote: 
> For me it is really about this plugin.  If I'm not able to use Erland's
> multi-library I need to understand the alternatives, and as as I can
> tell right now they don't do the same job. Only those who know this
> plugin will understand that.
> 
> To be clear, if I can't get this to work, and multi-library is said not
> to work (but it seems to for me so far), I'll stop using LMS (I can just
> about cope with minimserver - bad, but usable). This is fundamental and
> crucial for me. I wish I was IT capable enough to take it over, but I'm
> not.
I suspect Michael just missed to add Multi Library to the unsupported
repository, I haven’t seen anyone saying that it doesn’t work. Creating
a pull request or letting Michael(mherger) know some other way that it
works should take care of it. He might spot this message if we are
lucky. Making it possible to install Multi Library should work good for
people just looking for a short term solution until some change in LMS
core eventually breaks it.

However, as I previously mentioned, I suspect a lot of users previously
using Multi Library plugin together with Custom Browse plugin will be
happy with the standard virtual library functionality included with LMS.
I haven’t actually used the virtual library functionality myself since
I’m still using LMS 7.8, but its intention is to be able to divide your
library into sub libraries and being able to browse a sub library in
same way as you can browse the full library using the standard menus.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-13 Thread erland

Lucky_Luke wrote: 
> Hello.
> 
> Is there a way to get the Multi Library Plugin installed and run in LMS
> 8.1? 
> 
> Thank you for your help
> John

It hasn’t been added to the list of unsupported plugins that have been
verified to work. There is some indication that it might work if you
download it manually from http://downloads.isaksson.info an unzip it in
Plugins directory in the following post:
https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998765=1#post998765

I guess someone who have verified it will have to do a pull request
that’s adds it to the unsupported repository to make it easier to
install for users who aren’t afraid of using unsupported plugins:
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml

Having said that, I personally think users who rely on Multi Library
first should try if the virtual library functionality available in LMS
these days can replace it. Since Multi Library no longer is
supported/maintained by anyone it’s just a matter of time until it
breaks and cause problems for your LMS installation or just stops
working.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] iPeng on Big Sur

2021-01-09 Thread erland


mherger wrote: 
> Ahm... nobody mentioned this so far, or did I miss something?
> 
> 32899
> 
> How well it works on a desktop I'll have to see :)

Is it the iPeng iOS app running on an M1 based Mac ?
Or is it available on Intel Macs also ?

Looks great on the screenshot 



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113634

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-05 Thread erland

mherger wrote: 
> > When later adding the tracks to current playlist I’m using:
> > 
> >$request = $client->execute(['playlist', 'addtracks', 'listRef',
> $filteredItems]);
> > 
> > Would it work with a database track object in $filteredItems or would
> it
> > require a remote track object if available?
> > Just checking to know if the plugin would need the remote track
> object
> > anyway to be able to play the track. If it isn’t needed to play
> the
> > track are there other situations where the database track object
> isn’t
> > enough and a plugin would really need to remote track object ?
> 
> $filteredItems can be a list of URLs. No need to send full objects.
> 
> > Could the plugin just make a call like this to get the database track
> > object ?
> 
> If you really need it (not in above case).
> 
> >my $track = Slim::Schema->rs(‘Track’)->single({ 'url' => $url
> });
> 
> Yes! That's pretty exactly what objectForUrl() eventually does (for 
> database objects):
> 
> https://github.com/Logitech/slimserver/blob/e64c0e31caf4ebd7a77ce480db3395e35d33bd6e/Slim/Schema.pm#L2308
> 
> 
> -- 
> 
> Michael

Then my suggestion is that we are satisfied with your current correction
in 8.2 and if anyone sees a problem with remote tracks being repeated
they can implement it in the plugin by making a call to:

Slim::Schema->rs('Track')->single({ 'url' => $url });

To get the database track id in case a remote track object has been
returned from objectForUrl.

I don’t think it makes sense to add another parameter/method to return
database track object to LMS core if the only code that uses them is an
unsupported plugin. It’s likely going to be forgotten during
verification in the future when it isn’t used by LMS itself or the
plugins bundled with LMS.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-04 Thread erland

mherger wrote: 
> idForObject sounds a bit like $track->id - which would return that
> negative value.
> 
> I was considering an additional parameter (or flag in the arguments) to
> force looking up the database object. But I rejected that idea in favour
> of what we have now because it would have required a change on your end.
> Now is somebody wanted to pick this up, I'd be happy to add that flag.
> It's only two or three lines of code to add, and it wouldn't change any
> behaviour for existing callers.

When later adding the tracks to current playlist I’m using:

Code:


  $request = $client->execute(['playlist', 'addtracks', 'listRef', 
$filteredItems]);
  


Would it work with a database track object in $filteredItems or would it
require a remote track object if available?
Just checking to know if the plugin would need the remote track object
anyway to be able to play the track. If it isn’t needed to play the
track are there other situations where the database track object isn’t
enough and a plugin would really need to remote track object ?

Could the plugin just make a call like this to get the database track
object ?

Code:


  my $track = Slim::Schema->rs(‘Track’)->single({ 'url' => $url });
  


Or would it cause other side effects if it doesn’t retrieve it through
objectForUrl method ?
Just asking to see if we can avoid adding adding extra complexity to LMS
core if we need to adapt the code in the plugin anyway.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-03 Thread erland


erland wrote: 
> Is there currently any method the plugin could use to get a database
> track object if it sees that the track id returned from objectForUrl is
> negative ?
> 
Or as an alternative, is there an idForObject method that could be used
by the plugin to get the database id for a remote track object ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-03 Thread erland

mherger wrote: 
> 
> > If it’s complicated to change it in the LMS core it might be possible
> to
> > handle it in the plugin if it’s possible to somehow retrieve the
> > database track object through an extra call/query if the plugin get a
> > remote track object from objectForUrl. However, since I’m not able to
> do
> > this myself it could maybe be a bit tricky for a new developer to
> > implement such fix. This of course assumes there is a database track
> > object available. Not sure in which situations objectForUrl would
> return
> > a remote track object ? 
> 
> Basically whenever there's one. Which would always be the case when
> dealing with it while it's being played.
> 
> I was considering adding a parameter to objectForUrl for the very
> purpose you suggest, but went with a less "intrusive" way which I
> thought wouldn't require any change on your end. Alas, it wasn't good
> enough. 
> 
The current fix on your end is significantly better than what we had and
works with the only exception that online tracks might sometimes be
repeated in dynamic playlists. Might even be good enough until someone
implements a new actively maintained plugin that can replace mine.

If you are reasonably sure it isn’t a problem for LMS itself if remote
track objects is sometimes returned it might be better/easier if someone
tries to fix it on the plugin side. Is there currently any method the
plugin could use to get a database track object if it sees that the
track id returned from objectForUrl is negative ?

I suspect it’s going to be easier for someone to introduce an extra call
on the plugin side instead of trying to introduce usage fo urlmd5
column.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-03 Thread erland

mherger wrote: 
> That's something I only realised when looking into this issue: for
> remote tracks integrated into the library, there can be two types of
> track objects: the database track object, and the remote track object.
> The latter is being used in streaming and has the negative ID (negative
> is the sign for remote tracks). 
> 
> I'm very surprised that none of the LMS own code seems to have a problem
> with this. But your plugin definitely does. I added a workaround/fix for
> one issue. Now the ID could be another one... are you relying on the ID
> to track tracks? These wouldn't survive rescans, would they?

The dynamicplaylist_history is filled when tracks are added to the
current playlist, the table contains the client id to have separate
histories per player and the track id+url to identify the track. The
history is cleared in a number of situations, for example when a rescan
done event occurs or when a new dynamic playlist is played, it only
keeps history for currently playing dynamic playlists. It should
probably not clear the history when a new/changed rescan is triggered
but I think it does today. The intention with the history is to avoid
that a track is repeated before all possible tracks matching the
playlist filter has been played. I don’t rely on tracks.lastPlayed since
the logic should be separate for each player and also because a bunch
(typically 10) of tracks are added to current playlist (same rolling
window logic as Random Mix plugin) and lastPlayed might not have been
updated yet if the player hasn’t played a track previously added yet.

Theoretically it would be possible to join with the url instead of id,
but as I remember I use id to improve performance. I think I joined url
initially when I wrote the plugin but don’t remember if I even released
that version. So I’m indeed relying on the track id being the same as in
the tracks table.

If it’s complicated to change it in the LMS core it might be possible to
handle it in the plugin if it’s possible to somehow retrieve the
database track object through an extra call/query if the plugin get a
remote track object from objectForUrl. However, since I’m not able to do
this myself it could maybe be a bit tricky for a new developer to
implement such fix. This of course assumes there is a database track
object available. Not sure in which situations objectForUrl would return
a remote track object ? I guess we are still talking about a track
belonging to your favorites in the streaming service or is tracks you
have played after searching/browsing the streaming service also added to
tracks table ? Only those you have integrated in you library should be
included in a dynamic playlist.

I suspect the difference between my plugin and LMS core usage of
objectForUrl is that LMS core mostly query the database using DBIx so
the Slim::Schema objects are already there when objectForUrl is called
while my plugin query the database using raw SQL and only provides the
url so objectForUrl needs to query the database to fetch and create the
Slim::Schema objects.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-03 Thread erland

mhsparks wrote: 
> Another oddity is that sometimes the spotify tracks are added to the
> dynamicplaylist_history table with an incorrect id (large negative
> number). The insert seems to be done here
> 
> my $sth = $dbh->prepare( "INSERT INTO dynamicplaylist_history
> (client,id,url,added,skipped) values (?,".$track->id.", ?,
> ".$addedTime.",".$skipped.")" );
> 
> So it would see something is wrong with the track object, the url is
> always correct though. I suspect the only problematic behaviour this
> could cause is that tracks could be played twice.
> 

Are you saying that the same track have a different id in tracks table
?
Or does it have the same large negative number in tracks table ?

It might not be a problem if it’s negative but if it doesn’t match the
id in tracks table it will cause the side effects you describe that the
same track might be played twice before all other tracks matching the
playlist filter has been played. I don’t think the track id is
guaranteed to be a positive sequence number. A more worrying issue is
that I’m pretty sure I don’t modify the track id, so if it’s incorrect
it likely means that the objectForUrl correction Michael did might not
work correctly and that could possibly cause issues in other places of
LMS and other plugins.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-02 Thread erland

mherger wrote: 
> LMS uses Slim::Schema->objectForUrl all over the place. I'd certainly
> expect it to work. Maybe logging with database.sql could tell us more.
> But that's super noisy...
> 

I’m only able to read the code via an iPad at the moment so forgive me
if I’m on the wrong track here.

objectForUrl will internally call Slim::Schema->_retrieveTrack only
passing the url parameter at line 820:
https://github.com/Logitech/slimserver/blob/e64c0e31caf4ebd7a77ce480db3395e35d33bd6e/Slim/Schema.pm#L820

Since integrateRemote is not passed it will result in a call to
Slim::Schema::RemoteTrack->fetch at line 2295:
https://github.com/Logitech/slimserver/blob/e64c0e31caf4ebd7a77ce480db3395e35d33bd6e/Slim/Schema.pm#L2295

RemoteTrack->fetch only seems to return items from its cache:
https://github.com/Logitech/slimserver/blob/e64c0e31caf4ebd7a77ce480db3395e35d33bd6e/Slim/Schema/RemoteTrack.pm#L398

Could it be that the track isn’t in the cache and it just returns undef?

And in other places where objectForUrl is used the RemoteTrack might be
in the cache or objectForUrl is passed a blessed object instead of an
url string so the call exist before calling _retrieveTrack ?
Or should objectForUrl pass an integrateRemote parameter when calling
_retrieveTrack at line 820 ?

As initially said, I’m only reading this via an iPad and have no
possibility to actually run 8.1 myself at the moment so I might easily
have lost myself when reading the code :-)



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-02 Thread erland

mhsparks wrote: 
> Looks like they are retrieved but then Slim::Schema->objectForUrl is
> unable to find them. Another potential issue (?) is that my spotify
> playlists are added with audio=1, should they be audio=NULL like the
> regular playlists Michael?

audio=1 is correct

mherger wrote: 
> 
> 
> > I’m guessing Slim::Schema->objectForUrl should return them ?
> 
> Yes.
> 
> -- 
> 
> Michael

Michael, are you sure it works, the log provided by mhsparks indicates
that it doesn’t.
I’m calling it like this where url is a string from tracks.url, for
example “spotify:track:4A2OuywV9m5FS6g4Z0BizY”

Code:


  
  Slim::Schema->objectForUrl({
'url' => $url
});
  
  




Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-02 Thread erland

mherger wrote: 
> Online tracks are flagged as "remote" - would you filter these?
No, I don’t think so, but I wrote the code over 10 years ago so I might
have forgotten about something. A search on GitHub for “remote” didn’t
give any matches so that’s an indication that my memory isn’t too bad
:-)



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)
*Starting with LMS 8.0 I no longer support my plugins/applets* ('see
here for more information'
(https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=998836=1#post998836)
)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-02 Thread erland

mherger wrote: 
> 
> 
> > My plugins does some filtering on tracks.audio=1 so if this isn’t the
> > case for online tracks that would explain it. There need to be a
> filter
> 
> That's the same.
> 
> > because playlists are also stored in tracks table but it might have
> to
> > be adopted to work with integrated online music. Could be that there
> is
> > also some filtering in the Perl code in my plugins that removes
> > everything that isn’t a file:// url or have tracks.remote=1 but in
> that
> > case it’s probably unintentionally.
> 
> Yep, as I mentioned online tracks start with eg. wimp://... or
> spotify:...
> 
> > It might also be that they aren’t in the database at all and that
> only
> > the album is represented in the database while the tracks are
> retrieved
> > from the streaming service when the user selects to play the album.
> If
> 
> They're in there.
> 
Unless I’ve forgotten something I don’t think they are removed in the
SQL, as long as they are in tracks table and tracks.audio=1 they should
be returned from the SQL. I definitely don’t do and filtering on file://
in the SQL.

I’m guessing Slim::Schema->objectForUrl should return them ? 
If it doesn’t that’s probably the cause since I execute the raw SQL and
call objectForUrl with the url as parameter to get the Slim::Schema
object for each track url.

To anyone looking into this, getTracksForPlaylist method in SQLPlayList
plugin returns the Slim::Schema track objects when more tracks should be
added to the dynamic playlist.
https://github.com/erland/lms-sqlplaylist/blob/5955592540b5c157518edf61a731b5ca484c8813/src/Plugin.pm#L962

If debug logging is enabled on plugin.sqlplaylist you should see entries
like this in the server.log:
Adding: 
If you see this kind of entries for streaming service tracks but they
aren’t added to the playlist it means that the problem likely is in
DynamicPlaylist plugin and not in SQLPlayList plugin.

The tracks produced by SQLPlayList will be processed in DynamicPlaylist
and:
- Processed through skipping filters in filterTracks function:
https://github.com/erland/lms-dynamicplaylist/blob/6a0c37c4d80e2ebeed307fc3620b757490186b76/src/Plugin.pm#L282
- Added to current playlist with “playlist addtracks” or “playlist
loadtracks” command at row 372 and 382 in Plugin.pm:
https://github.com/erland/lms-dynamicplaylist/blob/6a0c37c4d80e2ebeed307fc3620b757490186b76/src/Plugin.pm#L372

Enabling debug logging on plugin.dynamicplaylist should give you more
indications regarding what’s going on.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-01 Thread erland

mhsparks wrote: 
> I've manually installed DynamicPlayList-2.10.247.zip and
> SQLPlayList-2.6.272.zip in 8.1 and they work fine for my use case.
> 
> Realistically I'm not going to be able to support them as the codebase
> is pretty huge with a lot of functionality. Presumably I should make a
> change / PR to unsupported.xml in LMS-Community/lms-plugin-repository so
> people are able to install them at their own risk?

Just for information, Michael added the following plugins to the
unsupported repository yesterday so they should now be possible to
install through LMS Settings/Plugins in LMS 8.1 and later if you have
activated usage of unsupported plugins:
- Custom Browse
- Custom Clock Helper
- Custom Scan
- Dynamic Playlist
- SQL Playlist
- TrackStat

Please note that unsupported means that they have somewhat worked at
some time in a 8.* release but might not work with the latest LMS
release/nightly and you aren’t guaranteed to get help from me or anybody
else in the community if a plugin doesn’t work or cause problems with
your LMS installation. So basically, use them at your own risk.

If anyone is missing one of my plugins in the above list, install it
manually and try if it works in LMS 8.1 or later and let
Michael(mherger) know or create a pull request in github that adds it to
the unsupported repository file:
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2021-01-01 Thread erland

mhsparks wrote: 
> I suppose these are stored somewhere different to the tracks table in
> the database (if they are even stored there) so the existing SQL doesn't
> retrieve them. Obviously would be a nice enhancement but grateful the
> plugins still work on my local collection.
> 

It someone is interested to try to fix it check with Michael(mherger)
how they are represented in the database. 

My plugins does some filtering on tracks.audio=1 so if this isn’t the
case for online tracks that would explain it. There need to be a filter
because playlists are also stored in tracks table but it might have to
be adopted to work with integrated online music. Could be that there is
also some filtering in the Perl code in my plugins that removes
everything that isn’t a file:// url or have tracks.remote=1 but in that
case it’s probably unintentionally.

It might also be that they aren’t in the database at all and that only
the album is represented in the database while the tracks are retrieved
from the streaming service when the user selects to play the album. If
this is the case they are probably neither included if you play random
songs with Random Mix plugin. In this case it’s harder to solve since
many of my plugins are track based and assumes the track is represented
in the database. In theory is should be possible to retrieve them into
the database during scanning but Michael might have selected to not do
that since the tracks might have changed in the streaming service since
last rescan or because he don’t want to overload the streaming service
with requests during scanning. To me personally it feels like online
music should be included when playing random songs with the standard
Randim Mix plugin so if this isn’t the case it can maybe be considered
to be a bug/design flaw.

If someone wants to look into this the first thing is probably to check
if the tracks are in the database, disappears in the SQL query or if
they are removed from the result in the Perl code in the plugin.

There is and old brief description of the database structure here:
https://wiki.slimdevices.com/index.php/SlimServerDatabaseStructure.html#tracks

The above page was written a long time ago so you also need to look at
schema changes done after it was written:
https://github.com/Logitech/slimserver/tree/public/8.1/SQL/SQLite
I think schema changes from schema_9_up and later might be of interest,
I think schema_21_up is related to the online music integration.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] up to date list of repositories

2020-12-31 Thread erland

mps wrote: 
> https://github.com/LMS-Community/lms-plugin-repository/blob/master/include.json
> (h/t Erland)

The repositories listed in this file are included by default so they
doesn’t have to be registered manually. I think this file is used for
LMS 8.1 (maybe also 8.0), but I’m not sure it’s used for 7.* releases.
Anyway, if a plugin isn’t listed in LMS Settings/Plugins it’s either
because it isn’t available for the LMS version used or it’s handled in a
repository not included in the default repository generated from the
above file.

The old repository list can be found on the wiki:
https://wiki.slimdevices.com/index.php/Logitech_Media_Server_repositories.html

Some plugin repositories, for example those developed by Eric Koldinger,
might no longer be available due to being hosted on Google Code which
have been shutdown. Not sure if Eric migrated his repository to a new
place after Google decided to terminate Google Code. I think the Google
Code content has been archived by Google so you can probably get it with
a little bit of work.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113566

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-31 Thread erland

mps wrote: 
> On a related note, I notice that TrackStat has been added to the
> 'Unsupported Repositories'
> (https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml)
> with a 'commit '
> (https://github.com/LMS-Community/lms-plugin-repository/commit/444f7c0ff6af8a6607b68a58ff0199ea4b0c3d4a#diff-de94c3fc47562876c76361826e8bee7be90e05f783a22020024434e477066c86)comment
> of "Add a test repository file for unsupported plugins."If it helps, I
> would be willing to take over support of TrackStat as well. More
> generally, are Erland's plugins being added to the unsupported
> repository list?
> 

Feel free to add TrackStat to your repository file in same way as you
did with Database Query. After adding it you can also do a pull request
that remove TrackStat from the unsupported repository:
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml

The idea with the unsupported repository is to make it possible to
install plugins which have been abandoned by the original developer but
have been tested by someone in the community that they work with the
latest LMS release. Unsupported indicates that the plugin has worked at
some time but nobody have verified it with the latest LMS release so you
use it at your own risk and it might break LMS since it hasn’t been
formally tested. All my plugins/applets can be considered to be
abandoned and they will be added to the unsupported repository as soon
as someone has told Michael(mherger) via pull request (adding it to
unsupported repo) or some other way that they work with currently latest
LMS release and they want it to be available as an unsupported plugin. I
don’t think Michael will add any plugin to unsupported repo before it’s
requested and someone has verified that it seems to work with currently
latest LMS release. If someone volunteer to take over
support/maintenance of a plugin it should be in a normal repository file
and not in the unsupported repository.

The following thread contains the discussion that resulted in the
Unsupported plugins feature being added in LMS 8.1:
https://forums.slimdevices.com/showthread.php?113403-Installing-plugins-without-regard-to-max-version



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Is the TrackStat plugin still working with LMS 8.x?

2020-12-28 Thread erland

afriend wrote: 
> 
> BTW which other apps/plugins besides Material and iPeng do actually
> support setting ratings with TrackStat?

Sorry, I have no idea.
I suspect most Android people are using Material skin these days and I’m
pretty sure iPeng is the most popular interface for people using Apple
devices, so if both these supports Ratings Light you have probably
reached most people interested in Ratings Light plugin. SqueezePad might
be pretty popular on iPad but I’m not sure it supports ratings other
than through context menu but it might be worth to check.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113311

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Is the TrackStat plugin still working with LMS 8.x?

2020-12-22 Thread erland

Pommes wrote: 
> 
> as I try to import old trackstat backup xml , the LMS becomes very
> unresponsive.
> LMS is a fresh install, only the trackstat data is migrated.
> Maybe anybody who can help?
> 
Could be the TrackStat refresh option that causes problem, there are two
options in TrackStat for its refresh operations that can be disabled. As
long as you don’t rename any music files or move them to a new path you
are probably fine with the refresh options disabled. Check the
server.log to see what happens, TrackStat will output information in the
log about what’s going on during its refresh operations.

Someone has also mentioned that TrackStat backups taken with old Perl
versions don’t work perfectly with newer Perl version but I don’t think
it will cause what you are describing, it will just result in some data
not being restored. Can’t give you more details since I haven’t used it
with newer Perl version myself.

Pommes wrote: 
> 
> And I would also like to know, how to use the built-in LMS rating
> system.
> 
As far as I know the only builtin support for ratings in LMS is that
they are stored in the database and third party apps (smartphone apps or
Material skin) can read and display ratings. To be able to set ratings
or browse by ratings you will need a third party plugin. In LMS 8.x it
means that you will have to either use the unsupported TrackStat plugin
or the new Ratings Light plugin mentioned earlier in the thread. Not
sure if Ratings Light support browsing ratings yet but I know there is
an implementation for this in progress. Not sure which third party apps
beside Material skin that supports setting ratings via Ratings Light at
this stage. If you don’t use TrackStat you probably want to ensure to
regularly take a backup of LMS database since currently TrackStat is the
only plugin that provides nightly backups to xml files.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113311

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-17 Thread erland

mps wrote: 
> I really appreciate all the plugins you built, Erland, and completely
> respect your choice to step back. Still, I don't want to see the plugins
> fade away. I would be willing to "stick a toe in the water" and try
> maintaining the simple, useful, and relatively stable, DBQuery plugin.
> If that works out, I'd consider adopting more. If I have to make any
> changes, I would then create a fork, so I can keep any headaches out of
> your hair.

Sounds great, the first thing you should do after verifying that it
works in 8.0 is to either:

- provide your own repository file with minTarget=8.0.0 and
maxTarget=8.* and ask Michael(mherger) to add it to the official
repository list by creating a pull request to the file
https://github.com/LMS-Community/lms-plugin-repository/blob/master/include.json

Or

- Create a pull request with minTarget=8.0.0 to get Michael(mherger) add
it to the list of unsupported plugins in the file
https://github.com/LMS-Community/lms-plugin-repository/blob/master/unsupported.xml.
This will make it possible to install through Plugins tab as long as you
don’t need to do any changes, but users need to enable installation of
unsupported plugins to be able to install it. When you need to do
changes you will need your own repository file.

This is the Database Query plugin github repository if you want to look
at the code or fork it:
https://github.com/erland/lms-databasequery



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-11 Thread erland

I totally agree with you bpa, even if they work currently it’s just a
matter of time until something breaks. 

I wish I had the focus and time to be able to continue maintaining the
plugins but to be brutally realistic it’s very unlikely to happen. My
family situation is different today with a small kid in the house and my
music listening behavior has changed significantly to mostly using
streaming services (Spotify) and currently I’ve honestly barely any need
for my plugins myself. It’s hard to let all people down who have used my
plugins and I’ve had some hope to be able to do some minimal
maintenance, but to be realistic this is very unlikely to happen. 

Due to all this I’ve also decided to leave my repository files as they
are with maxTarget=7.*.
If some one wants to maintain a separate repository file with
minTarget=8.0.0 pointing at my or your own server feel free to do so,
but in this case please put it under your e-mail/name instead of mine so
people primarily contact you instead of me if they have problem with LMS
8.0 or later.

For people relying on my plugins this means that you have the current
options:

- Stay on LMS 7.* forever. In this case you are probably going to loose
streaming services over time since they tend to change and will probably
stop working on 7.* eventually. Upgrading the OS is obviously very risky
since 7.* is eventually going to stop working on latest OS versions.
This might be an alternative if you are only using local music and have
LMS installed on a computer/device that isn’t used for anything else.

- If you have development skills or is willing to learn, implement new
plugins with similar functionality as mine and support them on LMS 8.0
and later. Based on some discussions in the forum I think there might
already be some work going on in this direction related to ratings and
browsing by custom tags. Alternatively take over maintenance of my
plugins, but I honestly expect this to be harder and more boring. It’s
always easier to maintain code you have written yourself. I had zero
Perl knowledge when I started to implement TrackStat so don’t look at it
as an impossible task just because you haven’t developed in Perl
before.

- Install my plugins manually in 8.0 and enjoy them as long as they
work, but as indicated it’s just a matter of time until something breaks
so you should probably plan for that so your setup doesn’t become
unusable when it happens.

For my personal setup I think the most likely scenario is that I’ll
continue using 7.8 on short terms and switch to 8.* without most of my
plugins installed on longer terms. 

I still plan to continue being a member in this community, so this post
doesn’t mean I’ll disappear from the community.

To everyone using my plugins, sorry to let you down but hopefully most
of you will understand. Thanks for all positive feedback you have given
me over the years.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-07 Thread erland

PasTim wrote: 
> Thanks very much.  
> 
> I wonder whether Erland might want to put a consolidated list of plugins
> that seem OK under LMS 8 (even though not yet verified by him) in the
> first post of this thread, for everyone's benefit?

PasTim wrote: 
> I think it might be a good idea to ask Michael.  I'd be happy with
> either approach, but I could well understand it if Michael doesn't want
> relatively untested plugins available as standard.  
> 
> The cautious approach would be a separate repo (a beta) which people
> would have to explicitly include.  That might also help you if/as/when
> you get around to test them yourself and want to try a few fixes.
> 
> As to what to include, I'd be a bit go-for-it and include all except the
> ones you have been told don't work.  
> 
Please continue to report which of my plugins that works/doesn’t work in
this thread but let’s continue the discussion how to indicate what’s 
working to the thread I started earlier in the year in the developers
section, it’s a generic problem and not only related to my plugins:
https://forums.slimdevices.com/showthread.php?111722-3rd-party-plugins-and-8-0=998387=1#post998387

I don’t want to manage a list of working plugins myself since I think
this is a generic problem for all plugins that aren’t actively
supported.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-07 Thread erland


PasTim wrote: 
> 
> By the way I notice that http://erland.isaksson.info/download/ returns
> an empty downloads page (it used to work, probably years ago!), whereas
> http://downloads.isaksson.info/download/ does return your downloads
> page.

Where did you find the non working link ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-07 Thread erland

erland wrote: 
> I think I’ll setup a separate repository file for 8.0, that way people
> just have to add that repository to LMS settings to be able to install
> them as normal.
> 

Or is it better to use the standard repository and just indicate in the
plugin description that all are untested on 8.0 ?
Not sure if people wants to explicitly decide that they want to install
untested plugins or if it’s better that they are there and just don’t
work ?



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-07 Thread erland

PasTim wrote: 
> Thanks very much.  
> 
> I wonder whether Erland might want to put a consolidated list of plugins
> that seem OK under LMS 8 (even though not yet verified by him) in the
> first post of this thread, for everyone's benefit?
> 
I think I’ll setup a separate repository file for 8.0, that way people
just have to add that repository to LMS settings to be able to install
them as normal. However, what should be the criteria to add a
plugin/applet to that repository file ?
Is it enough if someone has successfully installed it on 8.0 or does
someone have to confirm that they have used the plugin functionality on
8.0 or do you want multiple users to confirm that they have used the
plugin functionality on 8.0 ?
Just asking because it’s a bit different situation when you can’t expect
the developer(=me) to help troubleshooting or fix bugs, so some people
might not want to risk upgrading unless multiple people confirm that a
plugin actually works.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Announce: New versions of erlands plugins

2020-12-06 Thread erland

PasTim wrote: 
> I utterly depend on Custom Browse, Custom Scan, MultiLibrary, Dynamic
> Playlist, SQL Playlist and Hide Menus.  I also use Database Query,
> Trackstat and Custom Clock Helper from time to time.  
> 
> Do I dare progress to LMS 8.0 or not?  I really don't want to find
> things get messed up and have to go back to 7.9.4.
> 
> I really appreciate all Erland has done over the years, but I don't have
> the necessary skills to help to support them in the future - I wish I
> did.

As previously mentioned I haven’t used LMS 8.0 myself and I won’t be
able to help anyone personally until I’ve managed to get the time and
install 8.0 myself. I can’t give any indication when this will happen,
but it’s still on my todo list since I’m interested in the streaming
services integration which is new in 8.0.

>From what I’ve heard some people have manually installed at least some
of my plugins in 8.0 and said that they seems to work. People on this
forum is usually also good at helping people with problems. The only
issue I’m aware of is that some people have had issues with the refresh
options (startup+rescan) in TrackStat causing LMS to hang with 100% CPU
usage, but I think this was when upgrading to 7.9.3 or 7.9.4 so I don’t
know if it also might happen when upgrading to 8.0. It’s probably a good
idea to disable the refresh options in TrackStat before upgrading to
avoid issues with this.

However, if you don’t need the new functionality in 8.0 and really don’t
want to have to revert back to 7.9.4 if you get issues it might not be
worth the risk. I’d at least make sure to have a full backup of all
configuration and database files before upgrading to make it easier to
go back if necessary.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=49483

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Erlands plugins no longer in repository

2020-12-02 Thread erland

bernt wrote: 
> Hi!
> 
> Did a clean install of LMS 8 (piCorePlayer) but SQLPlaylist and Dynamic
> playlists don't show up under Third party plugins.
> 
> My main LMS is updated from 7.9.x to 8 and the plugins are there.
> 
> Regards
> Bernt
The latest status regarding 8.0 compatibility can be found in this
post:
https://forums.slimdevices.com/showthread.php?49483-Announce-New-versions-of-erlands-plugins=984145=1#post984145

I don’t plan to mark them as compatible until I’ve managed to test them
with 8.0 myself. If anyone wants to take over maintenance and distribute
the plugins feel free to do so, just let me know.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=111784

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2020-12-01 Thread erland

afriend wrote: 
> 
> And thanks for the hint. I will definitely keep the setTrackStatRating
> function in mind if I add some logic that should to be applied to tracks
> just after the rating has happened (that's the idea behind that, no?).
> 
Yes, that’s the idea.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] [Announce] Ratings Light

2020-11-30 Thread erland

The setRating function will probably not work for implementing the
“trackstat setrating” command due to this if statement:

Code:


  if ($request->isNotCommand([['ratingslight'],['setrating']])) {
  


You can do an “and” with a similar statement for isNotCommand with
trackstat setrating and it should work properly.

If you want to make it work properly if TrackStat also is installed you
could put an if statement around the addDispatch calls that register
TrackStat CLI commands so they are only registered if TrackStat isn’t
installed. You can see the isPluginsInstalled function in some of my
plugins for an example how to check if a plugin is installed. If you
want to have additional logic in setrating if TrackStat is installed you
can implement a setTrackStatRating function and TrackStat will call your
plugin when a rating is set through TrackStat, you can see the
TrackStatPlaylist plugin for an example of this
https://github.com/erland/lms-trackstatplaylist/blob/a00d709aaf2dbe797c096b949d3d4b280335fb44/src/Plugin.pm

Just mentioning all this since your logic around comment tags and
playlists generation potentially could be useful for someone even if
TrackStat is installed.

You might want to check with pippin how iPeng handles ratings, not sure
if it checks if trackstat setrating is available or explicitly checks if
TrackStat plugin is installed. Might be other third party apps that also
sets ratings via TrackStat that you might want to verify compatibility
with.

By the way, it’s great to see more third party developers are interested
to add functionality around ratings :-)



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113344

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


Re: [SlimDevices: Plugins] Is the TrackStat plugin still working with LMS 8.x?

2020-11-29 Thread erland


erland wrote: 
> If you have both Materal and TrackStat installed and set ratings using
> Material skin you might get issues, see this post for more information:
> https://forums.slimdevices.com/showthread.php?109624-Announce-Material-Skin=996718=1#post996718
> (Viewing ratings should be fine with both installed)
> 
> Also, please note that I think rating functionality in my other plugins
> (mainly SQL Playlist) relies on TrackStat so you might have to do some
> customization to make it work properly without TrackStat.

Please ignore the above, Material skin sets ratings via TrackStat so
they should work together.



Erland Isaksson ('My homepage' (http://erland.isaksson.info))
Developer of 'many plugins/applets'
(https://wiki.slimdevices.com/index.php/User_Erland.html)

erland's Profile: http://forums.slimdevices.com/member.php?userid=3124
View this thread: http://forums.slimdevices.com/showthread.php?t=113311

___
plugins mailing list
plugins@lists.slimdevices.com
http://lists.slimdevices.com/mailman/listinfo/plugins


  1   2   3   4   5   6   7   8   9   10   >