Bugzilla – Bug 1078
MusicMagic Player prefs
Last modified: 2008-12-15 13:06:21 UTC
In order to not be presented with Christmas music all year I have set up a filter in MusicMagic called "Exclude_Xmas" The API call from Slimserver needs "&filter=Exclude_Xmas" appended to it in order to instruct MusicMagic to use this filter. If I add: filter => Slim::Utils::Prefs::get('MMMFilter'), # Set the filter at line 858 in C:\Program Files\SlimServer\server\Plugins\MusicMagic\plugin.pm and a new value MMMFilter in slimserver.pref it accomplishes this (but I don't see where the code to make the Server Settings/MusicMagic page is...) Could this be added as an enhancement?
If as part of the solution to this request is to allow the user is able to choose a filter using the player settings (e.g. by adding MusicMagic settings to the player plugin menu). Perhaps the variety and artist style could be chosen by each player as well. It makes more sense for the user to define these settings per player because my kids can better define their mixes in their bedroom, my wife can choose her settings for the kitchen and I can use my settings in the lounge. Given the kids, my wife and I have very different musical tastes this would work very well.
Kevin: what do you think of this issue?
definitely feasible in future. I'd like to know that the current issues with musicmagic are resolved first, with unicode and cpu usage. No sense in making it more complicated before dealing with those. as for a player pref, I had in mind a menu system as part of the mix process in the player display. I supposed with a bit more work, a player plugin page could also be added where any player prefs override the main server pref. Or, it might be just as well to have those types of settings in player settings only. It shoudl all be possible with the current plugin API but will take a bit of work to get there.
Created attachment 585 [details] make use of filter api this should grab the list of filters from musicmagic, exposing them as a server setting and applied to all musicmagic mixes. I've attached here in case any who have the ability to apply patches wish to test. This will not be part of slimserver until after the 6.1 release.
Created attachment 619 [details] update with strings, and $client passing updated with strings. This works, and I've started passing around the client arg for a future enhancemnt to allow per player and on-the-fly config
added filter prefs in trunk at change 3778 renaming bug for player prefs. looking for input on what should be player pref and what the player UI could look like (or IF a player pref will really make sense, given the complexity of something on the fly like moodlogic)
*** Bug 1480 has been marked as a duplicate of this bug. ***
In my case I want to use the filter to exclude Christmas music and audiobooks. I envisage having the filter permanently in place and only adjusting it for a week or two in December. However a player UI would be nice because in December I could choose to have no Christmas music, all Christmas music or some Christmas music, from the player by adjusting filters. Maybe the player should present a list of available filters with the active filter indicated in some way. You could then use the right arrow to turn a filter on or off, (I presume that only one can be active at once, so the functionality would be like a radio button)
In my case, I envisaged either my daughters, wife or I would be able to choose our favourite filters on any machine before creating a mix. Given our music collection/tastes are very different this facility will be extremely useful. At the moment I'm the only one who can use MM usefully because the server is set to use my filter (using an unsophisticated hack to the plugin). We have 4 slim devices and so potentially we could set each of them to use our favourite filters at the same time!
This is what I'm working on: server setting->plugins adds a pref to enable player settings on mix. This will insert an interim player mode to select and alter the list of mix settings via teh player remote when a musicmagic mix is started. The player defaults will be the server settings, with player settings overriding. Thus the remote command paths would be: 1) only musicmagic enabled (no player prefs): press-and-hold play -> mix created with server settings. 2) musicmagic AND moodlogic enabled (no player prefs): press-hold play, select mixer, press right -> mix created with server settings. 3) with player prefs enabled: as either of the above -> settings list (up down left right to navigate and set), press PLAY -> mix created with player settings where they have been chosen, fallback to server settings for any left undefined.
On 3) with player prefs enabled: as either of the above -> settings list (up down left right to navigate and set), press PLAY -> mix created with player settings where they have been chosen, fallback to server settings for any left undefined. do you mean every time you press play & hold for a mix you will need to choose your filter from the list? If so, will the list be presented such that the 'cursor' will point to the filter selected for the previous mix on that player. Otherwise if you have say 10 (or more) filters and you want to listen to the 10th say, it might be cumbersome to keep clicking down to chose the same filter.
no need to keep selecting. it will store as a pref anything that was set previously: filter, variety, size, etc. ie: press-hold PLAY->choose mixer, Press RIGHT->Press PLAY will simply create a mix with existing player prefs. Another possible method, instead of PLAY as last step, ui could show: create mix with existing prefs ->, ro pressing right would work. scroll up or down can show: "change mix prefs ->" and pressing right would then enter settings mode. This way, if all you use is musicmagic, the shortest path is hold PLAY, press RIGHT. or you can disable the option to select player prefs on mix, and it would still using any existing player prefs but won't allow changing them before any mix. Eventually, I am hoping to have the player prefs settable from the web as well.
Excellent! Can't wait. Thanks!
committed playerUI to trunk at change 3887. from the log (in case instructions may be required): This is activated by a server pref in musicmagic to enable player prefs. If enabled, then the player Ui will push into settings mode on teh way to generating a mix. any existing player settings will override the server settings. if the pref is later disabled, any previously existing player prefs set via the UI will still override server prefs, but the mix will be created on those prefs without having to jump through the settings UI. pressing right will go into the setting, pressing right again will go into the mix. In the settings list, pressing play will allow skipping of the settigns mode and go straight to the mix with existing settings.
I hope you don't mind but I've jumped the gun a bit and tried the new code. It is working very well except I believe there is a bug at line 950. I think it should be :- my $filter = Slim::Utils::Prefs::clientGet($client,'MMMFilter') || Slim::Utils::Prefs::get('MMMFilter'); instead of my $filter = Slim::Utils::Prefs::get('MMMFilter');
thanks. will make sure that gets fixed.
added web player prefs under player settings->plugins to the trunk at change 4006 This should now be complete. Please report any bugs as new bug reports.
This bug appears to have been fixed in the latest release! If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look. Make sure to include the version number of the software you are seeing the error with.