PDA

View Full Version : Stop 'Play All Songs'



PasTim
2011-08-05, 06:00
Is there a way (short of a brain transplant) of preventing one from hitting Play on 'All Songs' at a high menu level, or failing that stopping the process once it has started? This applies to the Web Interface and the SB device interface on the Touch.

I am still waiting, 30 minutes later.

Hitting Escape stops the browser, but not the server doing its search and sort on my whole library.....

erland
2011-08-05, 07:17
Inside which menu do you hit play all songs ?
Do you approximately know how many songs it tries to play ?
Which Squeezebox Server version are you using ?

PasTim
2011-08-06, 01:34
Inside which menu do you hit play all songs ?
Do you approximately know how many songs it tries to play ?
Which Squeezebox Server version are you using ?
Quite often it is one of the Custom Browse menus (eg Works by Composer) where there are around 12,000 tracks. If I just hit the play button by mistake, rather than the menu name, then it goes off and thinks to itself for ever.

I'm now on SB 7.6.1 and latest versions of your plugins.

My Interface is set to DefaultCB, 100 per page.

pippin
2011-08-06, 02:44
CustomBrowse menus are custom, so you can remove the menu item.

Also, it's not part of ther server functionality. You can't really blame the server for something you added yourself.

Maybe you should ask for help in the CustomBrowse thread under "3rd party plugins".

PasTim
2011-08-06, 04:34
CustomBrowse menus are custom, so you can remove the menu item.

Also, it's not part of ther server functionality. You can't really blame the server for something you added yourself.

Maybe you should ask for help in the CustomBrowse thread under "3rd party plugins".
I wasn't "blaming" anyone, just curious to see if there way of helping me avoid a problem that's hit me a few times.

Since I almost always use Custom Browse I hadn't appreciated that the possibility of messing up is somewhat greater with those menus than with the standard SB ones (which don't provide a 'Play All'option at the top level). On doing a few more functional tests I also find it's mainly in the web interface that it's too easy for the mouse to stray. With the Touch interface it's somewhat harder to select 'Play All' for a selected menu item.

Removing the Custom Browse menus is not an option. For me, SB is almost unusable without them. I'll work out if I can see a way to restrict the options at the higher level menus. If not I'll ask in the 3rd party plugin forum.

erland
2011-08-06, 04:51
I wasn't "blaming" anyone, just curious to see if there way of helping me avoid a problem that's hit me a few times.

Since I almost always use Custom Browse I hadn't appreciated that the possibility of messing up is somewhat greater with those menus than with the standard SB ones (which don't provide a 'Play All'option at the top level). On doing a few more functional tests I also find it's mainly in the web interface that it's too easy for the mouse to stray. With the Touch interface it's somewhat harder to select 'Play All' for a selected menu item.

Removing the Custom Browse menus is not an option. For me, SB is almost unusable without them. I'll work out if I can see a way to restrict the options at the higher level menus. If not I'll ask in the 3rd party plugin forum.

Would the problem be solved if I removed the "Play all" item on all top level Custom Browse menus ?

The problem can still occur on lower level depending on your library size and menu configuration but removing it from the top level would probably not cause any harm as it's often not working properly anyway.

The other option, which also might work, is to limit the number of played tracks to the "Maximum Playlist Length" setting in "SBS Settings/Advanced/Performance", at least as long as the user doesn't raise this to a lot higher value than the defult (500).

pippin
2011-08-06, 05:01
Removing the Custom Browse menus is not an option. For me, SB is almost unusable without them. I'll work out if I can see a way to restrict the options at the higher level menus. If not I'll ask in the 3rd party plugin forum.

I didn't mean removing the custom browse menu but the "Play All" option on the Custom Browse menus.

Also, a workable workaround could be to reduce the maximum number of tracks in the current playlist ("Settings->Advanced->Performance"). I always thought that the default of 500 was safe but if it's not on your system you could reduce it.

PasTim
2011-08-06, 05:38
Would the problem be solved if I removed the "Play all" item on all top level Custom Browse menus ?

The problem can still occur on lower level depending on your library size and menu configuration but removing it from the top level would probably not cause any harm as it's often not working properly anyway.

The other option, which also might work, is to limit the number of played tracks to the "Maximum Playlist Length" setting in "SBS Settings/Advanced/Performance", at least as long as the user doesn't raise this to a lot higher value than the defult (500).

I tried limiting the playlist length, not being sure if it applies to CB or not. I stopped & restarted to make sure it was saved properly. I then ensured at least some items had been read into memory once by selecting the menu item normally (this is sometimes a bit slow the first time after start-up). I then selected 'Play All' for 'Works by Composer' (but it could have been any of the CB items) where there are around 12,000 tracks. It made no difference for me.

If you could limit the list to the "Maximum Playlist Length" that would help, and would protect all menu levels. but please don't go out of your way. I'm sure there are better uses of your time :-)

If I have to I can stop & restart the server manually - it is, after all, my mistake.

PasTim
2011-08-06, 05:42
I didn't mean removing the custom browse menu but the "Play All" option on the Custom Browse menus.

Also, a workable workaround could be to reduce the maximum number of tracks in the current playlist ("Settings->Advanced->Performance"). I always thought that the default of 500 was safe but if it's not on your system you could reduce it.
Thanks, but as I have said in my reply to Erland, the setting made no difference. I'm not quite sure why. I don't know how to modify the menu itself to remove the option, and am anyway loathe to muck around with someone else's very good menus.

sts78
2011-10-07, 08:01
Sorry for grave digging this thread, but the "play all" menu item annoys me too. More than once I clicked accidently on it. I have menus like Composer->Genre->Work->Movement. A click on "play all" on the composer level is near to useless (except you want a justification for going to lunch, and who wants a 50 days playlist of dozens of composers?).

@erland:
Is there any way to create a parameter for the xml menus to hide this "play all" on the concerning menu level? Maybe like



<menu>
<hideplayall>0|1</hideplayall>
<menuname>Artists</menuname>
...
</menu>


With this you could create CB menus like
Genre [no play all] -> Artist [no play all] -> Albums [play all] -> Tracks [play all]

erland
2011-10-07, 19:29
@erland:
Is there any way to create a parameter for the xml menus to hide this "play all" on the concerning menu level? Maybe like

...

With this you could create CB menus like
Genre [no play all] -> Artist [no play all] -> Albums [play all] -> Tracks [play all]


Could you try if something like this works ?


<menu>
<playtype>none</playtype>
<menuname>Artists</menuname>
...
</menu>

Just make sure you don't have two <playtype> elements on the same level, if one already exists you need to change it.

I haven't tried it myself but the purpose of it is to make items as not playable.

sts78
2011-10-12, 00:28
<playtype>none</playtype> did it! Thank you very much!
Now no more "Play all" on artist level (and on composer level in my classical menu). :)

PasTim
2011-10-12, 00:54
<playtype>none</playtype> did it! Thank you very much!
Now no more "Play all" on artist level (and on composer level in my classical menu). :)
Could one of you clarify exactly how and where you have done this? I can't quite figure it out and don't want to muck up my menus.

sts78
2011-10-12, 01:23
Could one of you clarify exactly how and where you have done this? I can't quite figure it out and don't want to muck up my menus.

Here is the albums artist->albums I mentioned in another of my posts, updated with the playtype:



<?xml version="1.0" encoding="utf-8"?>
<custombrowse>
<menu>
<menuname>Alben</menuname>
<playtype>none</playtype>
<menugroup>Musik</menugroup>
<menuorder>50</menuorder>


<menu>
<id>variousartist</id>
<menulinks>alpha</menulinks>
<playtype>none</playtype>
<menuname>Diverse Interpreten</menuname>
<menutype>sql</menutype>
<menudata>
select contributors.id,contributors.name,substr(contribut ors.namesort,1,1)
from contributors
where contributors.name='Diverse Interpreten'
and {property:server:variousArtistAutoIdentification}= 1
group by contributors.id
order by contributors.namesort asc
</menudata>
<menu>
<id>album</id>
<menuname>Songs</menuname>
<itemtype>album</itemtype>
<itemformat>album</itemformat>
<menutype>sql</menutype>
<menudata>
select albums.id,albums.title,substr(albums.titlesort,1,1 ) from albums
where albums.compilation = 1
group by albums.id
order by albums.titlesort asc,albums.disc asc
</menudata>
<menu>
<id>track</id>
<itemtype>track</itemtype>
<itemformat>track</itemformat>
<playtype>all</playtype>
<menutype>sql</menutype>
<menudata>
select tracks.id,tracks.title
from tracks,albums
where tracks.audio=1
and tracks.album={album}
group by tracks.id
order by tracks.disc,tracks.tracknum asc,tracks.titlesort asc
</menudata>
<menu>
<id>trackdetails</id>
<menutype>trackdetails</menutype>
<menudata>track|0</menudata>
</menu>
</menu>
</menu>
</menu>


<menu>
<id>artist</id>
<menuname>Albums</menuname>
<itemtype>artist</itemtype>
<menutype>sql</menutype>
<playtype>none</playtype>
<menulinks>alpha</menulinks>
<menudata>
select contributors.id,contributors.name,substr(contribut ors.namesort,1,1)
from contributors,contributor_album,albums,tracks
where contributor_album.contributor = contributors.id
and contributor_album.album = albums.id
and contributor_album.role in (1,5)
and
(
albums.compilation is null
or albums.compilation=0
or {property:server:variousArtistAutoIdentification} = 0
)
and tracks.album = albums.id
and tracks.url like '%/share/Musik/Alben/%'
group by contributors.id
order by contributors.namesort asc
</menudata>
<menu>
<id>album</id>
<menuname>Songs</menuname>
<itemtype>album</itemtype>
<itemformat>album</itemformat>
<menutype>sql</menutype>
<jivepattern>^(.*)\s\((.*)\)$</jivepattern>
<menudata>
select albums.id,albums.title,substr(albums.titlesort,1,1 )
from contributor_album,albums
where albums.id = contributor_album.album
and contributor_album.contributor = {artist}
and contributor_album.role in (1,5)
and albums.title not in ('Kein Album')
group by albums.id
order by albums.titlesort asc,albums.disc asc
</menudata>
<menu>
<id>track</id>
<itemtype>track</itemtype>
<itemformat>titleformat</itemformat>
<itemformatdata>TITLE (DURATION)</itemformatdata>
<playtype>all</playtype>
<menutype>sql</menutype>
<jivepattern>^(.*)\s\((.*)\)$</jivepattern>
<menudata>
select tracks.id,tracks.title,substr(tracks.title,1,1)
from tracks,contributor_track,albums
where tracks.audio = 1
and contributor_track.track = tracks.id
and tracks.album = {album}
and contributor_track.contributor = {artist}
and contributor_track.role in (1,5)
group by tracks.id
order by tracks.disc,tracks.tracknum asc,tracks.titlesort asc
</menudata>
<menu>
<id>trackdetails</id>
<menutype>trackdetails</menutype>
<menudata>track|0</menudata>
</menu>
</menu>
</menu>
</menu>


</menu>
</custombrowse>


The difference now are the three <playtype>none</playtype> tags.

PasTim
2011-10-12, 01:35
Here is the albums artist->albums I mentioned in another of my posts, updated with the playtype:
....
The difference now are the three <playtype>none</playtype> tags.
Thanks very much - I'll give it a try.

PasTim
2011-10-12, 07:25
Here is the albums artist->albums I mentioned in another of my posts, updated with the playtype:

....

The difference now are the three <playtype>none</playtype> tags.
I now realise I am still out of my depth here (once again....). I know a bit of xml, and quite a lot of SQL, but I don't understand how and where the underlying CB menus are stored or processed. I've a number of tailored menus (xxx.cb.values.xml) but those contain data processed by some other xml. So I'm not sure which menu you are editing, or where it is.

sts78
2011-10-12, 07:49
Well, my approach was...:

I have a lot of classical music, some dozens of albums, and a bunch of songs without albums assigned (singles). Each of the three "genres" has its very own navigation structure, because artist->album->track is quite unusable with classical music, where composer->genre->work->movement is a much better approach (in my opinion). And artist->album->track is annoying for singles, there is a plain artist->track useful. So I created three separate menus for them.

I just clicked on "create new menu", took any template and went straight to the bottom of the page and clicked on "customize" without bothering to set any option in the template menu. There I built the xml/sql menu from scratch (well, now and then copy&paste'ing some snippets I found online ;) ). Saved them under MyAlbums.cb.xml, MyClassic.cb.xml, MySingles.xb.xml...

Because I wanted all three menus accessible from ONE of the footer buttons in iPeng, I grouped them together (each of the three menu got its <menugroup>-tag on top).

PasTim
2011-10-12, 08:06
Well, my approach was...:

I have a lot of classical music, some dozens of albums, and a bunch of songs without albums assigned (singles). Each of the three "genres" has its very own navigation structure, because artist->album->track is quite unusable with classical music, where composer->genre->work->movement is a much better approach (in my opinion). And artist->album->track is annoying for singles, there is a plain artist->track useful. So I created three separate menus for them.

I just clicked on "create new menu", took any template and went straight to the bottom of the page and clicked on "customize" without bothering to set any option in the template menu. There I built the xml/sql menu from scratch (well, now and then copy&paste'ing some snippets I found online ;) ). Saved them under MyAlbums.cb.xml, MyClassic.cb.xml, MySingles.xb.xml...

Because I wanted all three menus accessible from ONE of the footer buttons in iPeng, I grouped them together (each of the three menu got its <menugroup>-tag on top).
OK - thanks very much. I hadn't appreciated you started from scratch - I thought you were modifying an existing one. I have a lot of classical, and another custom tag that I use ('work artist' - the main artist for a work, which isn't necessarily the artist for the whole album, and may not be the only artist on some tracks).

This will take me quite some time to get into. I'm aware of the various tags used in CB menus (from the wiki), so will have a crack creating a new one and see how far I can get. :)

PasTim
2011-11-28, 04:24
Well, my approach was...:

I have a lot of classical music, some dozens of albums, and a bunch of songs without albums assigned (singles). Each of the three "genres" has its very own navigation structure, because artist->album->track is quite unusable with classical music, where composer->genre->work->movement is a much better approach (in my opinion). And artist->album->track is annoying for singles, there is a plain artist->track useful. So I created three separate menus for them.

I just clicked on "create new menu", took any template and went straight to the bottom of the page and clicked on "customize" without bothering to set any option in the template menu. There I built the xml/sql menu from scratch (well, now and then copy&paste'ing some snippets I found online ;) ). Saved them under MyAlbums.cb.xml, MyClassic.cb.xml, MySingles.xb.xml...

Because I wanted all three menus accessible from ONE of the footer buttons in iPeng, I grouped them together (each of the three menu got its <menugroup>-tag on top).
Some weeks later... I have had a go at modifying some of my menus in a similar way to the way that you suggested, and it does help - thanks.

amatala
2017-02-09, 06:50
Thanks for the great info, I was very happy to find this old thread.

I have been facing the same problem myself: I have several custom menus, some of them holding +100K tracks.

Hitting "Play All" by mistake in SqueezeCommander or Orange Squeeze on my phone or tablet caused the server to hang indefinitely while trying to build up those huge playlists. The only possibble way out was killing and restarting the server...

After adding the <playtype>none</playtype> to all menus and submenus which should not have a "Play All" option, the problem is solved. I still have "Play All" available in the albums and tracks lists of specific artists, but the number of items at those levels is rather limited! :cool: