[Slim-Checkins] r11764 - in /trunk/server/Slim/Plugin/MusicMagic: Common.pm HTML/EN/plugins/MusicMagic/settings/mipclient.html HTML/EN/plugins/MusicMagic/settings/musicmagic.html Importer.pm PlayerSettings.pm Plugin.pm Settings.pm strings.txt

kdf at svn.slimdevices.com kdf at svn.slimdevices.com
Sat Apr 14 01:27:58 PDT 2007


Author: kdf
Date: Sat Apr 14 01:27:58 2007
New Revision: 11764

URL: http://svn.slimdevices.com?rev=11764&view=rev
Log:
Bug: n/a
Description: new prefs api for musicmagic, restore player settings page


Added:
    trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/mipclient.html
Modified:
    trunk/server/Slim/Plugin/MusicMagic/Common.pm
    trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/musicmagic.html
    trunk/server/Slim/Plugin/MusicMagic/Importer.pm
    trunk/server/Slim/Plugin/MusicMagic/PlayerSettings.pm
    trunk/server/Slim/Plugin/MusicMagic/Plugin.pm
    trunk/server/Slim/Plugin/MusicMagic/Settings.pm
    trunk/server/Slim/Plugin/MusicMagic/strings.txt

Modified: trunk/server/Slim/Plugin/MusicMagic/Common.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/Common.pm?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/Common.pm (original)
+++ trunk/server/Slim/Plugin/MusicMagic/Common.pm Sat Apr 14 01:27:58 2007
@@ -8,18 +8,21 @@
 use Slim::Utils::Misc;
 use Slim::Utils::OSDetect;
 use Slim::Utils::Strings;
+use Slim::Utils::Prefs;
 
 my $os  = Slim::Utils::OSDetect::OS();
 my $log = logger('plugin.musicmagic');
 
+my $prefs = preferences('plugin.musicmagic');
+
 sub convertPath {
 	my $mmsPath = shift;
 	
-	if (Slim::Utils::Prefs::get('MMSHost') eq 'localhost') {
+	if ($prefs->get('host') eq 'localhost') {
 		return $mmsPath;
 	}
 	
-	my $remoteRoot = Slim::Utils::Prefs::get('MMSremoteRoot');
+	my $remoteRoot = $prefs->get('remote_root');
 	my $nativeRoot = Slim::Utils::Prefs::get('audiodir');
 	my $original   = $mmsPath;
 	my $winPath    = $mmsPath =~ m/\\/; # test if this is a windows path
@@ -29,7 +32,7 @@
 		# we are unix
 		if ($winPath) {
 
-			# we are running music magic on winders but
+			# we are running musicmagic on windows but
 			# slim server is running on unix
 
 			# convert any windozes paths to unix style
@@ -70,44 +73,44 @@
 
 sub checkDefaults {
 
-	if (!Slim::Utils::Prefs::isDefined('musicmagic')) {
-		Slim::Utils::Prefs::set('musicmagic',0)
+	if (!defined $prefs->get('enabled')) {
+		$prefs->set('enabled',0)
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMMMixType')) {
-		Slim::Utils::Prefs::set('MMMMixType',0)
+	if (!defined $prefs->get('mix_type')) {
+		$prefs->set('mix_type',0)
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMMStyle')) {
-		Slim::Utils::Prefs::set('MMMStyle',0);
+	if (!defined $prefs->get('mix_style')) {
+		$prefs->set('mix_style',0);
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMMVariety')) {
-		Slim::Utils::Prefs::set('MMMVariety',0);
+	if (!defined $prefs->get('mix_variety')) {
+		$prefs->set('mix_variety',0);
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMMSize')) {
-		Slim::Utils::Prefs::set('MMMSize',12);
+	if (!defined $prefs->get('mix_size')) {
+		$prefs->set('mix_size',12);
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MusicMagicplaylistprefix')) {
-		Slim::Utils::Prefs::set('MusicMagicplaylistprefix','MusicMagic: ');
+	if (!defined $prefs->get('playlist_prefix')) {
+		$prefs->set('playlist_prefix','MusicMagic: ');
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MusicMagicplaylistsuffix')) {
-		Slim::Utils::Prefs::set('MusicMagicplaylistsuffix','');
+	if (!defined $prefs->get('playlist_suffix')) {
+		$prefs->set('playlist_suffix','');
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('musicmagicscaninterval')) {
-		Slim::Utils::Prefs::set('musicmagicscaninterval',60);
+	if (!defined $prefs->get('scan_interval')) {
+		$prefs->set('scan_interval',3600);
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMSport')) {
-		Slim::Utils::Prefs::set('MMSport',10002);
+	if (!defined $prefs->get('port')) {
+		$prefs->set('port',10002);
 	}
 
-	if (!Slim::Utils::Prefs::isDefined('MMSHost')) {
-		Slim::Utils::Prefs::set('MMSHost','localhost');
+	if (!defined $prefs->get('host')) {
+		$prefs->set('host','localhost');
 	}
 }
 

Added: trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/mipclient.html
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/mipclient.html?rev=11764&view=auto
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/mipclient.html (added)
+++ trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/mipclient.html Sat Apr 14 01:27:58 2007
@@ -1,0 +1,1 @@
+[% PROCESS plugins/MusicMagic/settings/musicmagic.html %]

Modified: trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/musicmagic.html
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/musicmagic.html?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/musicmagic.html (original)
+++ trunk/server/Slim/Plugin/MusicMagic/HTML/EN/plugins/MusicMagic/settings/musicmagic.html Sat Apr 14 01:27:58 2007
@@ -1,96 +1,96 @@
 [% PROCESS settings/header.html %]
 
+	[% IF prefs.exists('enabled') %]
 	<div class="settingSection">
 		<div class="prefHead">[% "MUSICMAGIC" | string | upper %]</div>
 		<div class="prefDesc">[% "SETUP_MUSICMAGIC_DESC" | string %]</div>
 
-		<label for="musicmagic" class="stdlabel">[% "USE_MUSICMAGIC" | string %]</label>
-		<input type="checkbox" [% IF prefs.musicmagic %]checked [% END %] class="stdedit" name="musicmagic" id="musicmagic" />
+		<label for="enabled" class="stdlabel">[% "USE_MUSICMAGIC" | string %]</label>
+		<input type="checkbox" [% IF prefs.enabled %]checked [% END %] class="stdedit" name="enabled" id="enabled" />
 
-		<!--
-		<option [% IF NOT prefs.musicmagic %]selected [% END %]value="0">[% 'DONT_USE_MUSICMAGIC' | getstring %]</option>
-		<option [% IF prefs.musicmagic %]selected [% END %]value="1">[% 'USE_MUSICMAGIC' | getstring %]</option>
-		-->
 	</div>
+	[% END %]
 
+	[% IF prefs.exists('player_settings') %]
 	<div class="settingSection">
 		<div class="prefHead">[% "SETUP_MMMPLAYERSETTINGS" | string | upper %]</div>
 		<div class="prefDesc">[% "SETUP_MMMPLAYERSETTINGS_DESC" | string %]</div>
 
-		<select class="stdedit" name="MMMPlayerSettings" id="MMMPlayerSettings">
+		<select class="stdedit" name="player_settings" id="player_settings">
 
-			<option [% IF NOT MMMPlayerSettings %]selected [% END %]value="0">[% 'NO' | getstring %]</option>
-			<option [% IF MMMPlayerSettings %]selected [% END %]value="1">[% 'YES' | getstring %]</option>
+			<option [% IF NOT prefs.player_settings %]selected [% END %]value="0">[% 'NO' | getstring %]</option>
+			<option [% IF prefs.player_settings %]selected [% END %]value="1">[% 'YES' | getstring %]</option>
 		
 		</select>
 
 	</div>
+	[% END %]
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMSIZE" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMMIXTYPE_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_MIX_SIZE" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_MIX_TYPE_DESC" | string %]</div>
 
-		<select class="stdedit" name="MMMMixType" id="MMMMixType">
+		<select class="stdedit" name="mix_type" id="mix_type">
 
-			<option [% IF MMMMixType == prefs.MMMMixType %]selected [% END %]value="0">[% 'MMMMIXTYPE_TRACKS' | getstring %]</option>
-			<option [% IF MMMMixType == prefs.MMMMixType %]selected [% END %]value="1">[% 'MMMMIXTYPE_MIN' | getstring %]</option>
-			<option [% IF MMMMixType == prefs.MMMMixType %]selected [% END %]value="2">[% 'MMMMIXTYPE_MBYTES' | getstring %]</option>
+			<option [% IF prefs.mix_type == 0 %]selected [% END %]value="0">[% 'MMMMIXTYPE_TRACKS' | getstring %]</option>
+			<option [% IF prefs.mix_type == 1 %]selected [% END %]value="1">[% 'MMMMIXTYPE_MIN' | getstring %]</option>
+			<option [% IF prefs.mix_type == 2 %]selected [% END %]value="2">[% 'MMMMIXTYPE_MBYTES' | getstring %]</option>
 		
 		</select>
 
-		<input type="text" class="stdedit" name="MMMSize" id="MMMSize" value="[% prefs.MMMSize %]" size="5">
+		<input type="text" class="stdedit" name="mix_size" id="mix_size" value="[% prefs.mix_size %]" size="5">
 	</div>
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMSTYLE" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMSTYLE_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_MIX_STYLE" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_MIX_STYLE_DESC" | string %]</div>
 
-		<input type="text" class="stdedit" name="MMMStyle" id="MMMStyle" value="[% prefs.MMMStyle %]" size="5">
+		<input type="text" class="stdedit" name="mix_style" id="mix_style" value="[% prefs.mix_style %]" size="5">
 	</div>
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMVARIETY" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMVARIETY_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_MIX_VARIETY" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_MIX_VARIETY_DESC" | string %]</div>
 
-		<input type="text" class="stdedit" name="MMMVariety" id="MMMVariety" value="[% prefs.MMMVariety %]" size="5">
+		<input type="text" class="stdedit" name="mix_variety" id="mix_variety" value="[% prefs.mix_variety %]" size="5">
 	</div>
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMMIXGENRE" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMMIXGENRE_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_MIX_GENRE" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_MIX_GENRE_DESC" | string %]</div>
 
-		<select class="stdedit" name="MMMMixGenre" id="MMMMixGenre">
+		<select class="stdedit" name="mix_genre" id="mix_genre">
 
-			<option [% IF NOT MMMMixGenre %]selected [% END %]value="0">[% 'NO' | getstring %]</option>
-			<option [% IF MMMMixGenre %]selected [% END %]value="1">[% 'YES' | getstring %]</option>
+			<option [% IF NOT prefs.mix_genre %]selected [% END %]value="0">[% 'NO' | getstring %]</option>
+			<option [% IF prefs.mix_genre %]selected [% END %]value="1">[% 'YES' | getstring %]</option>
 		
 		</select>
 	</div>
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMREJECTSIZE" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMREJECTSIZE_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_REJECT_SIZE" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_REJECT_SIZE_DESC" | string %]</div>
 
-		<select class="stdedit" name="MMMRejectType" id="MMMRejectType">
+		<select class="stdedit" name="reject_type" id="reject_type">
 
-			<option [% IF MMMRejectType == prefs.MMMRejectType %]selected [% END %]value="0">[% 'MMMMIXTYPE_TRACKS' | getstring %]</option>
-			<option [% IF MMMRejectType == prefs.MMMRejectType %]selected [% END %]value="1">[% 'MMMMIXTYPE_MIN' | getstring %]</option>
-			<option [% IF MMMRejectType == prefs.MMMRejectType %]selected [% END %]value="2">[% 'MMMMIXTYPE_MBYTES' | getstring %]</option>
+			<option [% IF prefs.reject_type == 0 %]selected [% END %]value="0">[% 'MMMMIXTYPE_TRACKS' | getstring %]</option>
+			<option [% IF prefs.reject_type == 1 %]selected [% END %]value="1">[% 'MMMMIXTYPE_MIN' | getstring %]</option>
+			<option [% IF prefs.reject_type == 2 %]selected [% END %]value="2">[% 'MMMMIXTYPE_MBYTES' | getstring %]</option>
 		
 		</select>
 
-		<input type="text" class="stdedit" name="MMMRejectSize" id="MMMRejectSize" value="[% prefs.MMMRejectSize %]" size="5">
+		<input type="text" class="stdedit" name="reject_size" id="reject_size" value="[% prefs.reject_size %]" size="5">
 	</div>
 
 	<div class="settingSection">
-		<div class="prefHead">[% "SETUP_MMMFILTER" | string | upper %]</div>
-		<div class="prefDesc">[% "SETUP_MMMFILTER_DESC" | string %]</div>
+		<div class="prefHead">[% "SETUP_MIX_FILTER" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_MIX_FILTER_DESC" | string %]</div>
 
-		<select class="stdedit" name="MMMFilter" id="MMMFilter">
+		<select class="stdedit" name="mix_filter" id="mix_filter">
 
 		[% FOREACH option = filters.keys %]
 
-			<option [% IF MMMFilter == option %]selected [% END %]value="[% option %]">[% filters.$option %]</option>
+			<option [% IF prefs.mix_filter == option %]selected [% END %]value="[% option %]">[% filters.$option %]</option>
 
 		[%- END -%]
 		
@@ -98,27 +98,33 @@
 
 	</div>
 
+	[% IF prefs.exists('scan_interval') %]
 	<div class="settingSection">
 		<div class="prefHead">[% "SETUP_MUSICMAGICSCANINTERVAL" | string | upper %]</div>
 		<div class="prefDesc">[% "SETUP_MUSICMAGICSCANINTERVAL_DESC" | string %]</div>
 
-		<input type="text" class="stdedit" name="musicmagicscaninterval" id="musicmagicscaninterval" value="[% prefs.musicmagicscaninterval %]" size="5">
+		<input type="text" class="stdedit" name="scan_interval" id="scan_interval" value="[% prefs.scan_interval %]" size="5">
 	</div>
+	[% END %]
 
+	[% IF prefs.exists('port') %]
 	<div class="settingSection">
 		<div class="prefHead">[% "SETUP_MMSPORT" | string | upper %]</div>
 		<div class="prefDesc">[% "SETUP_MMSPORT_DESC" | string %]</div>
 
-		<input type="text" class="stdedit" name="MMSport" id="MMSport" value="[% prefs.MMSport %]" size="5">
+		<input type="text" class="stdedit" name="port" id="port" value="[% prefs.port %]" size="5">
 	</div>
+	[% END %]
 
+	[% IF prefs.exists('playlist_prefix') %]
 	<div class="settingSection">
 		<div class="groupHead">[% "SETUP_MUSICMAGICPLAYLISTFORMAT" | string | upper %]</div>
 		<div class="groupDesc">[% "SETUP_MUSICMAGICPLAYLISTFORMAT_DESC" | string %]</div>
 
-		[% "SETUP_PLAYLISTPREFIX_CHOOSE" | string %]<input type="text" class="stdedit" name="MusicMagicplaylistprefix" id="MusicMagicplaylistprefix" value="[% prefs.MusicMagicplaylistprefix %]" size="40">
+		[% "SETUP_PLAYLISTPREFIX_CHOOSE" | string %]<input type="text" class="stdedit" name="playlist_prefix" id="playlist_prefix" value="[% prefs.playlist_prefix %]" size="40">
 		<br>
-		[% "SETUP_PLAYLISTSUFFIX_CHOOSE" | string %]<input type="text" class="stdedit" name="MusicMagicplaylistsuffix" id="MusicMagicplaylistsuffix" value="[% prefs.MusicMagicplaylistsuffix %]" size="40">
+		[% "SETUP_PLAYLISTSUFFIX_CHOOSE" | string %]<input type="text" class="stdedit" name="playlist_suffix" id="playlist_suffix" value="[% prefs.playlist_suffix %]" size="40">
 	</div>
+	[% END %]
 
 [% PROCESS settings/footer.html %]

Modified: trunk/server/Slim/Plugin/MusicMagic/Importer.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/Importer.pm?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/Importer.pm (original)
+++ trunk/server/Slim/Plugin/MusicMagic/Importer.pm Sat Apr 14 01:27:58 2007
@@ -17,6 +17,7 @@
 use Slim::Utils::Misc;
 use Slim::Utils::OSDetect;
 use Slim::Utils::Strings qw(string);
+use Slim::Utils::Prefs;
 use Slim::Utils::Versions;
 
 my $initialized = 0;
@@ -31,6 +32,8 @@
 	'defaultLevel' => 'WARN',
 });
 
+my $prefs = preferences('plugin.musicmagic');
+
 sub useMusicMagic {
 	my $class    = shift;
 	my $newValue = shift;
@@ -40,28 +43,28 @@
 	if (defined($newValue)) {
 
 		if (!$can) {
-			Slim::Utils::Prefs::set('musicmagic', 0);
+			$prefs->set('enabled', 0);
 		} else {
-			Slim::Utils::Prefs::set('musicmagic', $newValue);
-		}
-	}
-
-	my $use = Slim::Utils::Prefs::get('musicmagic');
+			$prefs->set('enabled', $newValue);
+		}
+	}
+
+	my $use = $prefs->get('enabled');
 
 	if (!defined($use) && $can) { 
 
-		Slim::Utils::Prefs::set('musicmagic', 1);
+		$prefs->set('enabled', 1);
 
 	} elsif (!defined($use) && !$can) {
 
-		Slim::Utils::Prefs::set('musicmagic', 0);
-	}
-
-	$use = Slim::Utils::Prefs::get('musicmagic') && $can;
+		$prefs->set('enabled', 0);
+	}
+
+	$use = $prefs->get('enabled') && $can;
 
 	Slim::Music::Import->useImporter($class, $use);
 
-	$log->info("Using musicmagic: $use");
+	$log->info("Using musicip: $use");
 
 	return $use;
 }
@@ -85,11 +88,11 @@
 
 		$initialized = 0;
 
-		return 0;		
-	}
-
-	$MMSport = Slim::Utils::Prefs::get('MMSport');
-	$MMSHost = Slim::Utils::Prefs::get('MMSHost');
+		return 0;
+	}
+
+	$MMSport = $prefs->get('port');
+	$MMSHost = $prefs->get('host');
 
 	$log->info("Testing for API on $MMSHost:$MMSport");
 
@@ -107,7 +110,7 @@
 		Slim::Music::Import->addImporter($class, {
 			'reset'        => \&resetState,
 			'playlistOnly' => 1,
-			'use'          => Slim::Utils::Prefs::get('musicmagic'),
+			'use'          => $prefs->get('enabled'),
 		});
 
 		Slim::Player::ProtocolHandlers->registerHandler('musicmagicplaylist', 0);
@@ -170,8 +173,8 @@
 sub exportFunction {
 	my $class = shift;
 
-	$MMSport = Slim::Utils::Prefs::get('MMSport') unless $MMSport;
-	$MMSHost = Slim::Utils::Prefs::get('MMSHost') unless $MMSHost;
+	$MMSport = $prefs->get('port') unless $MMSport;
+	$MMSHost = $prefs->get('host') unless $MMSHost;
 
 	my $count = get("http://$MMSHost:$MMSport/api/getSongCount");
 
@@ -408,9 +411,9 @@
 
 	# add this list of duplicates to our playlist library
 	$attributes{'TITLE'} = join('', 
-		Slim::Utils::Prefs::get('MusicMagicplaylistprefix'),
+		$prefs->get('playlist_prefix'),
 		$name,
-		Slim::Utils::Prefs::get('MusicMagicplaylistsuffix'),
+		$prefs->get('playlist_suffix'),
 	);
 
 	$attributes{'LIST'}  = [];

Modified: trunk/server/Slim/Plugin/MusicMagic/PlayerSettings.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/PlayerSettings.pm?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/PlayerSettings.pm (original)
+++ trunk/server/Slim/Plugin/MusicMagic/PlayerSettings.pm Sat Apr 14 01:27:58 2007
@@ -7,13 +7,17 @@
 
 use strict;
 
+use Slim::Utils::Prefs;
+
 # button functions for browse directory
-our @defaultSettingsChoices = qw(MMMSize MMMMixType MMMStyle MMMVariety MMMFilter MMMMixGenre MMMRejectType MMMRejectSize);
+our @defaultSettingsChoices = qw(mix_size mix_type mix_style mix_variety mix_filter mix_genre reject_type reject_size);
 
 our @settingsChoices = ();
 our %current = ();
 our %menuParams = ();
 our %functions = ();
+
+my $prefs = preferences('plugin.musicmagic');
 
 sub init {
 	Slim::Buttons::Common::addMode('MMMsettings',getFunctions(),\&setMode);
@@ -43,6 +47,7 @@
 
 		'MMMsettings' => {
 			'listRef'         => \@defaultSettingsChoices,
+			'externRef'      => sub { return 'SETUP_'.$_[1]; },
 			'stringExternRef' => 1,
 			'header'          => 'SETUP_MMMSETTINGS',
 			'stringHeader'    => 1,
@@ -52,24 +57,24 @@
 			'overlayRefArgs'  => 'C',
 		},
 		
-		'MMMsettings/MMMSize' => {
-			'useMode'        => 'INPUT.Bar',
-			'header'         => 'SETUP_MMMSIZE',
+		'MMMsettings/mix_size' => {
+			'useMode'        => 'INPUT.Bar',
+			'header'         => 'SETUP_MIX_SIZE',
 			'stringHeader'   => 1,
 			'headerValue'    =>'unscaled',
 			'min'            => 0,
 			'max'            => 200,
 			'increment'      => 1,
 			'onChange'       => \&setPref,
-			'pref'           => "MMMSize",
-			'initialValue'   => "MMMSize",
-			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
-			'overlayRefArgs' => 'C',
-		},
-
-		'MMMsettings/MMMMixType' => {
-			'useMode'        => 'INPUT.List',
-			'header'         => 'SETUP_MMMMIXTYPE',
+			'pref'           => "mix_size",
+			'initialValue'   => "mix_size",
+			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
+			'overlayRefArgs' => 'C',
+		},
+
+		'MMMsettings/mix_type' => {
+			'useMode'        => 'INPUT.List',
+			'header'         => 'SETUP_MIX_TYPE',
 			'stringHeader'   => 1,
 			'listRef'        => [0,1,2],
 			'externRef'      => {
@@ -78,57 +83,57 @@
 				'2' => Slim::Utils::Strings::string('MMMMIXTYPE_MBYTES'),
 			},
 			'onChange'       => \&setPref,
-			'pref'           => "MMMMixType",
-			'initialValue'   => "MMMStyle",
-			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
-			'overlayRefArgs' => 'C',
-		},
-
-		'MMMsettings/MMMStyle' => {
-			'useMode'        => 'INPUT.Bar',
-			'header'         => 'SETUP_MMMSTYLE',
+			'pref'           => "mix_type",
+			'initialValue'   => "mix_type",
+			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
+			'overlayRefArgs' => 'C',
+		},
+
+		'MMMsettings/mix_style' => {
+			'useMode'        => 'INPUT.Bar',
+			'header'         => 'SETUP_MIX_STYLE',
 			'stringHeader'   => 1,
 			'headerValue'    => 'unscaled',
 			'min'            => 0,
 			'max'            => 200,
 			'onChange'       => \&setPref,
-			'pref'           => "MMMStyle",
-			'initialValue'   => "MMMStyle",
-			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
-			'overlayRefArgs' => 'C',
-		},
-
-		'MMMsettings/MMMVariety' => {
-			'useMode'        => 'INPUT.Bar',
-			'header'         => 'SETUP_MMMVARIETY',
+			'pref'           => "mix_style",
+			'initialValue'   => "mix_style",
+			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
+			'overlayRefArgs' => 'C',
+		},
+
+		'MMMsettings/mix_variety' => {
+			'useMode'        => 'INPUT.Bar',
+			'header'         => 'SETUP_MIX_VARIETY',
 			'stringHeader'   => 1,
 			'headerValue'    =>'unscaled',
 			'min'            => 0,
 			'max'            => 9,
 			'increment'      => 1,
 			'onChange'       => \&setPref,
-			'pref'           => "MMMVariety",
-			'initialValue'   => "MMMVariety",
-			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
-			'overlayRefArgs' => 'C',
-		},
-
-		'MMMsettings/MMMFilter' => {
-			'useMode'        => 'INPUT.List',
-			'header'         => 'SETUP_MMMFILTER',
+			'pref'           => "mix_variety",
+			'initialValue'   => "mix_variety",
+			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
+			'overlayRefArgs' => 'C',
+		},
+
+		'MMMsettings/mix_filter' => {
+			'useMode'        => 'INPUT.List',
+			'header'         => 'SETUP_MIX_FILTER',
 			'stringHeader'   => 1,
 			'listRef'        => undef,
 			'externRef'      => undef,
 			'onChange'       => \&setPref,
-			'pref'           => "MMMFilter",
-			'initialValue'   => "MMMFilter",
-			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
-			'overlayRefArgs' => 'C',
-		},
-
-		'MMMsettings/MMMMixGenre' => {
-			'useMode'        => 'INPUT.List',
-			'header'         => 'SETUP_MMMMIXGENRE',
+			'pref'           => "mix_filter",
+			'initialValue'   => "mix_filter",
+			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
+			'overlayRefArgs' => 'C',
+		},
+
+		'MMMsettings/mix_genre' => {
+			'useMode'        => 'INPUT.List',
+			'header'         => 'SETUP_MIX_GENRE',
 			'stringHeader'   => 1,
 			'listRef'        => [0,1],
 			'externRef'      => {
@@ -136,15 +141,15 @@
 				'1' => Slim::Utils::Strings::string('YES'),
 			},
 			'onChange'       => \&setPref,
-			'pref'           => "MMMMixGenre",
-			'initialValue'   => "MMMMixGenre",
+			'pref'           => "mix_genre",
+			'initialValue'   => "mix_genre",
 			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
 			'overlayRefArgs' => 'C',
 		},
 		
-		'MMMsettings/MMMRejectType' => {
-			'useMode'        => 'INPUT.List',
-			'header'         => 'SETUP_MMMREJECTTYPE',
+		'MMMsettings/reject_type' => {
+			'useMode'        => 'INPUT.List',
+			'header'         => 'SETUP_REJECT_TYPE',
 			'stringHeader'   => 1,
 			'listRef'        => [0,1,2],
 			'externRef'      => {
@@ -153,23 +158,23 @@
 				'2' => Slim::Utils::Strings::string('MMMMIXTYPE_MBYTES'),
 			},
 			'onChange'       => \&setPref,
-			'pref'           => "MMMRejectType",
-			'initialValue'   => "MMMRejectType",
+			'pref'           => "reject_type",
+			'initialValue'   => "reject_type",
 			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
 			'overlayRefArgs' => 'C',
 		},
 		
-		'MMMsettings/MMMRejectSize' => {
-			'useMode'        => 'INPUT.Bar',
-			'header'         => 'SETUP_MMMREJECTSIZE',
+		'MMMsettings/reject_size' => {
+			'useMode'        => 'INPUT.Bar',
+			'header'         => 'SETUP_REJECT_SIZE',
 			'stringHeader'   => 1,
 			'headerValue'    =>'unscaled',
 			'min'            => 0,
 			'max'            => 200,
 			'increment'      => 1,
 			'onChange'       => \&setPref,
-			'pref'           => "MMMRejectSize",
-			'initialValue'   => "MMMRejectSize",
+			'pref'           => "reject_size",
+			'initialValue'   => "reject_size",
 			'overlayRef'     => sub { return ($_[0]->string('MUSICMAGIC_MIXRIGHT'),undef) },
 			'overlayRefArgs' => 'C',
 		},
@@ -182,7 +187,7 @@
 	
 	my $pref = $client->modeParam('pref');
 	
-	$client->prefSet($pref,$value);
+	$prefs->client($client)->set($pref, $value);
 }
 
 sub executeCommand {
@@ -198,33 +203,44 @@
 sub settingsExitHandler {
 	my ($client,$exittype) = @_;
 	$exittype = uc($exittype);
+
 	if ($exittype eq 'LEFT') {
 		Slim::Buttons::Common::popModeRight($client);
+
 	} elsif ($exittype eq 'RIGHT') {
 		my $nextmenu = 'MMMsettings/'.$current{$client};
+
 		if (defined($client->modeParam('useMode'))) {
 			#in a submenu of settings and exiting right.
 			Slim::Plugin::MusicMagic::Plugin::mixerFunction($client,1);
+
 		} elsif (exists($menuParams{$nextmenu})) {
 			my %nextParams = %{$menuParams{$nextmenu}};
+
 			$nextParams{'callback'} = \&settingsExitHandler;
 			$nextParams{'parentParams'} = $client->modeParam('parentParams');
+
 			if (($nextParams{'useMode'} eq 'INPUT.List' || $nextParams{'useMode'} eq 'INPUT.Bar')  && exists($nextParams{'initialValue'})) {
 				#set up valueRef for current pref
 				my $value;
+
 				if (ref($nextParams{'initialValue'}) eq 'CODE') {
 					$value = $nextParams{'initialValue'}->($client);
 				} else {
-					$value = $client->prefGet($nextParams{'initialValue'});
+				
+					# grab client pref, or fall back to server pref if not defined
+					$value = $prefs->client($client)->get($nextParams{'initialValue'}) || $prefs->get($nextParams{'initialValue'});
 				}
+
 				$nextParams{'valueRef'} = \$value;
 			}
-			if ($nextmenu eq 'MMMsettings/MMMFilter') {
-				my %filters = Slim::Plugin::MusicMagic::Plugin::grabFilters();
+
+			if ($nextmenu eq 'MMMsettings/mix_filter') {
+				my $filters = Slim::Plugin::MusicMagic::Settings::grabFilters();
 				
-				$nextParams{'listRef'} = [keys %filters];
-				$nextParams{'externRef'} = {Slim::Plugin::MusicMagic::Plugin::grabFilters()};
-				$nextParams{'listIndex'} = $client->prefGet('MMMFilter');
+				$nextParams{'listRef'} = [keys %{$filters}];
+				$nextParams{'externRef'} = $filters;
+				$nextParams{'listIndex'} = $prefs->client($client)->get('mix_filter');
 				
 			}
 			
@@ -233,9 +249,11 @@
 				,$nextParams{'useMode'}
 				,\%nextParams
 			);
+
 		} else {
 			Slim::Plugin::MusicMagic::Plugin::mixerFunction($client,1);
 		}
+
 	} else {
 		return;
 	}

Modified: trunk/server/Slim/Plugin/MusicMagic/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/Plugin.pm?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/Plugin.pm (original)
+++ trunk/server/Slim/Plugin/MusicMagic/Plugin.pm Sat Apr 14 01:27:58 2007
@@ -12,8 +12,10 @@
 use Slim::Utils::Misc;
 use Slim::Utils::OSDetect;
 use Slim::Utils::Strings;
+use Slim::Utils::Prefs;
 
 use Slim::Plugin::MusicMagic::Settings;
+use Slim::Plugin::MusicMagic::ClientSettings;
 
 use Slim::Plugin::MusicMagic::Common;
 use Slim::Plugin::MusicMagic::PlayerSettings;
@@ -28,6 +30,8 @@
 	'category'     => 'plugin.musicmagic',
 	'defaultLevel' => 'WARN',
 });
+
+my $prefs = preferences('plugin.musicmagic');
 
 our %mixMap  = (
 	'add.single' => 'play_1',
@@ -56,23 +60,23 @@
 	
 	if (defined($newValue)) {
 		if (!$can) {
-			Slim::Utils::Prefs::set('musicmagic', 0);
+			$prefs->set('enabled', 0);
 		} else {
-			Slim::Utils::Prefs::set('musicmagic', $newValue);
-		}
-	}
-	
-	my $use = Slim::Utils::Prefs::get('musicmagic');
+			$prefs->set('enabled', $newValue);
+		}
+	}
+	
+	my $use = $prefs->get('enabled');
 	
 	if (!defined($use) && $can) { 
-		Slim::Utils::Prefs::set('musicmagic', 1);
+		$prefs->set('enabled', 1);
 	} elsif (!defined($use) && !$can) {
-		Slim::Utils::Prefs::set('musicmagic', 0);
-	}
-	
-	$use = Slim::Utils::Prefs::get('musicmagic') && $can;
-
-	$log->info("Using musicmagic: $use");
+		$prefs->set('enabled', 0);
+	}
+	
+	$use = $prefs->get('enabled') && $can;
+
+	$log->info("Using musicip: $use");
 
 	return $use;
 }
@@ -121,8 +125,8 @@
 		return 0;		
 	}
 
-	$MMSport = Slim::Utils::Prefs::get('MMSport');
-	$MMSHost = Slim::Utils::Prefs::get('MMSHost');
+	$MMSport = $prefs->get('port');
+	$MMSHost = $prefs->get('host');
 
 	$log->info("Testing for API on $MMSHost:$MMSport");
 
@@ -163,6 +167,7 @@
 		Slim::Player::ProtocolHandlers->registerHandler('musicmagicplaylist', 0);
 
 		Slim::Plugin::MusicMagic::Settings->new;
+		Slim::Plugin::MusicMagic::ClientSettings->new;
 
 		if (scalar @{grabMoods()}) {
 
@@ -270,7 +275,7 @@
 
 	if ($fileMTime > $lastMMMChange) {
 
-		my $scanInterval = Slim::Utils::Prefs::get('musicmagicscaninterval');
+		my $scanInterval = $prefs->get('scan_interval');
 
 		$log->debug("MusicMagic: music library has changed!");
 		$log->debug("Details:");
@@ -281,7 +286,7 @@
 
 		if (!$scanInterval) {
 
-			# only scan if musicmagicscaninterval is non-zero.
+			# only scan if scaninterval is non-zero.
 			$log->info("Scan Interval set to 0, rescanning disabled");
 
 			return 0;
@@ -301,7 +306,7 @@
 sub checker {
 	my $firstTime = shift || 0;
 	
-	if (!Slim::Utils::Prefs::get('musicmagic')) {
+	if (!$prefs->get('enabled')) {
 		return;
 	}
 
@@ -354,8 +359,8 @@
 		return %moodHash;
 	}
 	
-	$MMSport = Slim::Utils::Prefs::get('MMSport') unless $MMSport;
-	$MMSHost = Slim::Utils::Prefs::get('MMSHost') unless $MMSHost;
+	$MMSport = $prefs->get('port') unless $MMSport;
+	$MMSHost = $prefs->get('host') unless $MMSHost;
 
 	$log->debug("Get moods list");
 
@@ -449,7 +454,7 @@
 	my $paramref = defined $client->modeParam('parentParams') ? $client->modeParam('parentParams') : $client->modeParameterStack(-1);
 	
 	# if prefs say to offer player settings, and we're not already in that mode, then go into settings.
-	if (Slim::Utils::Prefs::get('MMMPlayerSettings') && !$noSettings) {
+	if ($prefs->get('player_settings') && !$noSettings) {
 
 		Slim::Buttons::Common::pushModeLeft($client, 'MMMsettings', { 'parentParams' => $paramref });
 		return;
@@ -536,7 +541,7 @@
 	}
 
 	# only add link if enabled and usable
-	if (canUseMusicMagic() && Slim::Utils::Prefs::get('musicmagic')) {
+	if (canUseMusicMagic() && $prefs->get('enabled')) {
 
 		# set up a musicmagic link
 		$form->{'mixerlinks'}{Slim::Plugin::MusicMagic::Plugin->title()} = "plugins/MusicMagic/mixerlink.html";
@@ -586,56 +591,56 @@
 	if (defined $client) {
 		%args = (
 			# Set the size of the list (default 12)
-			'size'       => $client->prefGet('MMMSize') || Slim::Utils::Prefs::get('MMMSize'),
+			'size'       => $prefs->client($client)->get('mix_size') || $prefs->get('mix_size'),
 	
 			# (tracks|min|mb) Set the units for size (default tracks)
-			'sizetype'   => $type[$client->prefGet('MMMMixType') || Slim::Utils::Prefs::get('MMMMixType')],
+			'sizetype'   => $type[$prefs->client($client)->get('mix_type') || $prefs->get('mix_type')],
 	
 			# Set the style slider (default 20)
-			'style'      => $client->prefGet('MMMStyle') || Slim::Utils::Prefs::get('MMMStyle'),
+			'style'      => $prefs->client($client)->get('mix_style') || $prefs->get('mix_style'),
 	
 			# Set the variety slider (default 0)
-			'variety'    => $client->prefGet('MMMVariety') || Slim::Utils::Prefs::get('MMMVariety'),
+			'variety'    => $prefs->client($client)->get('mix_variety') || $prefs->get('mix_variety'),
 
 			# mix genres or stick with that of the seed. (Default: match seed)
-			'mixgenre'   => $client->prefGet('MMMMixGenre') || Slim::Utils::Prefs::get('MMMMixGenre'),
+			'mixgenre'   => $prefs->client($client)->get('mix_genre') || $prefs->get('mix_genre'),
 	
 			# Set the number of songs before allowing dupes (default 12)
-			'rejectsize' => $client->prefGet('MMMRejectSize') || Slim::Utils::Prefs::get('MMMRejectSize'),
+			'rejectsize' => $prefs->client($client)->get('reject_size') || $prefs->get('reject_size'),
 		);
 	} else {
 		%args = (
 			# Set the size of the list (default 12)
-			'size'       => Slim::Utils::Prefs::get('MMMSize') || 12,
+			'size'       => $prefs->get('mix_size') || 12,
 	
 			# (tracks|min|mb) Set the units for size (default tracks)
-			'sizetype'   => $type[Slim::Utils::Prefs::get('MMMMixType') || 0],
+			'sizetype'   => $type[$prefs->get('mix_type') || 0],
 	
 			# Set the style slider (default 20)
-			'style'      => Slim::Utils::Prefs::get('MMMStyle') || 20,
+			'style'      => $prefs->get('mix_style') || 20,
 	
 			# Set the variety slider (default 0)
-			'variety'    => Slim::Utils::Prefs::get('MMMVariety') || 0,
+			'variety'    => $prefs->get('mix_variety') || 0,
 
 			# mix genres or stick with that of the seed. (Default: match seed)
-			'mixgenre'   => Slim::Utils::Prefs::get('MMMMixGenre') || 0,
+			'mixgenre'   => $prefs->get('mix_genre') || 0,
 	
 			# Set the number of songs before allowing dupes (default 12)
-			'rejectsize' => Slim::Utils::Prefs::get('MMMRejectSize') || 12,
+			'rejectsize' => $prefs->get('reject_size') || 12,
 		);
 	}
 
 	# (tracks|min|mb) Set the units for rejecting dupes (default tracks)
 	my $rejectType = defined $client ?
-		($client->prefGet('MMMRejectType') || Slim::Utils::Prefs::get('MMMRejectType')) : 
-		(Slim::Utils::Prefs::get('MMMRejectType') || 0);
+		($prefs->client($client)->get('reject_type') || $prefs->get('reject_type')) : 
+		($prefs->get('reject_type') || 0);
 	
 	# assign only if a rejectType found.  suppresses a warning when trying to access the array with no value.
 	if ($rejectType) {
 		$args{'rejecttype'} = $type[$rejectType];
 	}
 
-	my $filter = defined $client ? $client->prefGet('MMMFilter') || Slim::Utils::Prefs::get('MMMFilter') : Slim::Utils::Prefs::get('MMMFilter');
+	my $filter = defined $client ? $prefs->client($client)->get('mix_filter') || $prefs->get('mix_filter') : $prefs->get('mix_filter');
 
 	if ($filter) {
 
@@ -715,7 +720,7 @@
 	return \@mix;
 }
 
-sub musicmagic_moods {
+sub musicmaigc_moods {
 	my ($client, $params) = @_;
 
 	$params->{'mood_list'} = grabMoods();
@@ -894,19 +899,6 @@
 	return Slim::Web::HTTP::filltemplatefile("plugins/MusicMagic/musicmagic_mix.html", $params);
 }
 
-sub playerGroup {
-
-	my %group = (
-		'Groups' => {
-			'Default' => {
-				'PrefOrder' => [qw(MMMSize MMMMixType MMMStyle MMMVariety MMMFilter MMMMixGenre MMMRejectType MMMRejectSize)]
-			},
-		},
-	);
-	
-	return \%group;
-}
-
 1;
 
 __END__

Modified: trunk/server/Slim/Plugin/MusicMagic/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/Settings.pm?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/Settings.pm (original)
+++ trunk/server/Slim/Plugin/MusicMagic/Settings.pm Sat Apr 14 01:27:58 2007
@@ -11,11 +11,52 @@
 use Slim::Utils::Log;
 use Slim::Utils::Misc;
 use Slim::Utils::Strings qw(string);
+use Slim::Utils::Prefs;
 
 my $log = Slim::Utils::Log->addLogCategory({
 	'category'     => 'plugin.musicmagic',
 	'defaultLevel' => 'WARN',
 });
+
+my $prefs = preferences('plugin.musicmagic');
+
+$prefs->migrate(1, sub {
+	$prefs->set('enabled',         Slim::Utils::Prefs::OldPrefs->get('musicmagic'));
+	$prefs->set('scan_interval',   Slim::Utils::Prefs::OldPrefs->get('musicmagicscaninterval') || 3600            );
+	$prefs->set('player_settings', Slim::Utils::Prefs::OldPrefs->get('MMMPlayerSettings') || 0                    );
+	$prefs->set('port',            Slim::Utils::Prefs::OldPrefs->get('MMSport') || 10002                          );
+	$prefs->set('mix_filter',      Slim::Utils::Prefs::OldPrefs->get('MMMFilter')                                 );
+	$prefs->set('reject_size',     Slim::Utils::Prefs::OldPrefs->get('MMMRejectSize') || 0                        );
+	$prefs->set('reject_type',     Slim::Utils::Prefs::OldPrefs->get('MMMRejectType')                             );
+	$prefs->set('mix_genre',       Slim::Utils::Prefs::OldPrefs->get('MMMMixGenre')                               );
+	$prefs->set('mix_variety',     Slim::Utils::Prefs::OldPrefs->get('MMMVariety') || 0                           );
+	$prefs->set('mix_style',       Slim::Utils::Prefs::OldPrefs->get('MMMStyle') || 0                             );
+	$prefs->set('mix_type',        Slim::Utils::Prefs::OldPrefs->get('MMMMixType')                                );
+	$prefs->set('mix_size',        Slim::Utils::Prefs::OldPrefs->get('MMMSize') || 12                             );
+	$prefs->set('playlist_prefix', Slim::Utils::Prefs::OldPrefs->get('MusicMagicplaylistprefix') || 'MusicIP: '   );
+	$prefs->set('playlist_suffix', Slim::Utils::Prefs::OldPrefs->get('MusicMagicplaylistsuffix') || ''            );
+
+	$prefs->set('enabled', 0) unless defined $prefs->get('enabled'); # default to on if not previously set
+	
+	# use new naming of the old default wasn't changed
+	if ($prefs->get('playlist_prefix') eq 'MusicMagic: ') {
+		$prefs->set('playlist_prefix', 'MusicIP: ');
+	}
+	1;
+});
+
+$prefs->setValidate('num', qw(scan_interval port mix_variety mix_style reject_size));
+
+$prefs->setChange(
+	sub {
+		Slim::Music::Import->useImporter('Plugin::iTunes::Plugin', $_[1]);
+
+		for my $c (Slim::Player::Client::clients()) {
+			Slim::Buttons::Home::updateMenu($c);
+		}
+	},
+	'enabled',
+);
 
 sub name {
 	return 'MUSICMAGIC';
@@ -25,58 +66,18 @@
 	return 'plugins/MusicMagic/settings/musicmagic.html';
 }
 
+sub prefs {
+	return ($prefs, qw(enabled scan_interval player_settings port mix_filter reject_size reject_type 
+			   mix_genre mix_variety mix_style mix_type mix_size playlist_prefix playlist_suffix));
+}
+
 sub handler {
 	my ($class, $client, $params) = @_;
 
-	# These are lame preference names.
-	my @prefs = qw(
-		musicmagic
-		MMMPlayerSettings
-		MMMSize
-		MMMMixType
-		MMMStyle
-		MMMVariety
-		MMMMixGenre
-		MMMRejectType
-		MMMRejectSize
-		MMMFilter
-		musicmagicscaninterval
-		MMSport
-		MusicMagicplaylistprefix
-		MusicMagicplaylistsuffix
-	);
+	# Cleanup the checkbox
+	$params->{'enabled'} = defined $params->{'enabled'} ? 1 : 0;
 
-	# Cleanup the checkbox
-	$params->{'musicmagic'} = defined $params->{'musicmagic'} ? 1 : 0;
-
-	if ($params->{'saveSettings'}) {
-
-		if ($params->{'musicmagic'} != Slim::Utils::Prefs::get('musicmagic')) {
-
-			for my $c (Slim::Player::Client::clients()) {
-
-				Slim::Buttons::Home::updateMenu($c);
-			}
-
-			Slim::Music::Import->useImporter('Plugin::MusicMagic::Plugin', $params->{'musicmagic'});
-		}
-
-		for my $pref (@prefs) {
-
-			# XXX - need validation!
-			#'itunesscaninterval' => { 'validate' => \&Slim::Utils::Validate::number, },
-			#'itunes_library_xml_path' => { 'validate' => \&Slim::Utils::Validate::isFile, },
-			#'itunes_library_music_path' => { 'validate' => \&Slim::Utils::Validate::isDir, },
-
-			Slim::Utils::Prefs::set($pref, $params->{$pref});
-		}
-	}
-
-	for my $pref (@prefs) {
-
-		$params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
-	}
-	$params->{'filters'}        = grabFilters();
+	$params->{'filters'}  = grabFilters();
 
 	return $class->SUPER::handler($client, $params);
 }
@@ -85,8 +86,8 @@
 	my @filters    = ();
 	my %filterHash = ();
 	
-	my $MMSport = Slim::Utils::Prefs::get('MMSport');
-	my $MMSHost = Slim::Utils::Prefs::get('MMSHost');
+	my $MMSport = $prefs->get('port');
+	my $MMSHost = $prefs->get('host');
 
 	$log->debug("Get filters list");
 
@@ -129,8 +130,6 @@
 	return \%filterHash;
 }
 
-
-
 1;
 
 __END__

Modified: trunk/server/Slim/Plugin/MusicMagic/strings.txt
URL: http://svn.slimdevices.com/trunk/server/Slim/Plugin/MusicMagic/strings.txt?rev=11764&r1=11763&r2=11764&view=diff
==============================================================================
--- trunk/server/Slim/Plugin/MusicMagic/strings.txt (original)
+++ trunk/server/Slim/Plugin/MusicMagic/strings.txt Sat Apr 14 01:27:58 2007
@@ -29,28 +29,28 @@
 	SV	Denna inställning styr format vid import av MusicIP-låtlistor
 	ZH_CN	这个选项决定了导å
¥MusicIP播放表所使用的格式。
 
-SETUP_MMMMIXTYPE
+SETUP_MIX_TYPE
 	DE	MusicIP Mix Typ
 	EN	MusicIP Mix Type
 	ES	Tipo de mezcla de MusicIP
 	NL	MusicIP Mix type
 	ZH_CN	MusicIP混音类型
 
-SETUP_MMMMIXTYPE_DESC
+SETUP_MIX_TYPE_DESC
 	DE	Die Grösse des gewünschten MusicIP Mixes kann über drei Grössen definiert werden: Anzahl Lieder, Länge in Minuten oder Anzahl Megabytes. (Vorgabe: Länge)
 	EN	Your MusicIP Mix size may be set by the number of three types: Tracks, Minutes, MegaBytes (default tracks)
 	ES	La tamaño de la mezcla de MusicIP puede establecerse utilizando 3 valores: Pistas, Minutos, MegaBytes (por defecto se utiliza Pistas)
 	NL	Je MusicIP mixgrootte kun je instellen op drie types: liedjes, minuten, Megabytes (standaard liedjes)
 	ZH_CN	您的MusicIP混音量可从三种数量设置做选择:轨道、分钟、å
†å­—节(缺省轨道)
 
-SETUP_MMMSIZE
+SETUP_MIX_SIZE
 	DE	MusicIP Mix Grösse
 	EN	MusicIP Mix Size
 	ES	Tamaño de mezcla de MusicIP
 	NL	MusicIP Mix grootte
 	ZH_CN	MusicIP混音量
 
-SETUP_MMMSIZE_DESC
+SETUP_MIX_SIZE_DESC
 	CS	Vyberte Mix Size
 	DE	Wählen Sie die Mix-Grösse
 	EN	Choose Mix Size
@@ -58,55 +58,55 @@
 	NL	Kies mixgrootte
 	ZH_CN	请选择MusicIP混音量
 
-SETUP_MMMFILTER
+SETUP_MIX_FILTER
 	EN	MusicIP Mix Filter
 	ES	Filtro de Mezcla de MusicIP
 	NL	MusicIP Mix filter
 	ZH_CN	MusicIP混音过滤器
 
-SETUP_MMMFILTER_DESC
+SETUP_MIX_FILTER_DESC
 	DE	In MusicIP können Sie Filtersets unter einem Namen abspeichern. Wählen Sie hier eines dieser Sets, das auf die MusicIP Mixes im SlimServer angewendet werden soll.
 	EN	You can create named sets of filter conditions in MusicIP and choose from the list here to apply those filters to MusicIP Mixes in SlimServer.
 	ES	Se puede dar un nombre a conjuntos de condiciones de filtro creadas en MusicIP y elegir de esta lista para aplicar esos filtros a las Mezclas de MusicIP en SlimServer.
 	NL	Je kunt filtersets met condities maken in MusicIP. Kies vanuit de lijst hier de filtersets om toe te voegen in SlimServer voor MusicIP mixes.
 	ZH_CN	您可以利用MusicIP设立过滤器,并且从这表中选择应用在SlimServerå†
MusicIP混音的那些过滤器。
 
-SETUP_MMMMIXGENRE
+SETUP_MIX_GENRE
 	DE	MusicIP Mix Musikstil
 	EN	MusicIP Mix Genre
 	ES	Género de mezcla de MusicIP
 	NL	MusicIP mix genre
 	ZH_CN	MusicIP混音曲风
 
-SETUP_MMMMIXGENRE_DESC
+SETUP_MIX_GENRE_DESC
 	DE	Beschränken Sie den Mix auf die Musikstile des Seeds (Vorgabe: nein)
 	EN	Restrict mix to the genre of the seed (Default: no)
 	ES	Restringir la mezcla al género de la canción inicial (Por defecto: no)
 	NL	Beperk mix tot het genre van bron (standaard: Nee)
 	ZH_CN	将混音限制于种子的曲风(确省:不)
 
-SETUP_MMMREJECTTYPE
+SETUP_REJECT_TYPE
 	DE	MusicIP Ablehnungsart
 	EN	MusicIP Reject Type
 	ES	Tipo de Rechazo en MusicIP
 	NL	MusicIP afkeurtype
 	ZH_CN	MusicIP拒绝种类
 
-SETUP_MMMREJECTTYPE_DESC
+SETUP_REJECT_TYPE_DESC
 	DE	Definieren Sie die Einheit für die Ablehnungsgrösse. (Vorgabe: Lieder)
 	EN	Set the units for reject size. (Default: tracks)
 	ES	Establecer las unidades para el tamaño del rechazo. (Por Defecto: canciones/tracks)
 	NL	Stel de eenheid in voor de afkeurgrootte (standaard: liedjes).
 	ZH_CN	é
ç½®æ‹’绝量单位(确省:音轨)
 
-SETUP_MMMREJECTSIZE
+SETUP_REJECT_SIZE
 	DE	MusicIP Ablehnungsgrösse
 	EN	MusicIP Reject Size.
 	ES	Tamaño de Rechazo de MusicIP
 	NL	MusicMagix afkeurgrootte.
 	ZH_CN	MusicIP拒绝量
 
-SETUP_MMMREJECTSIZE_DESC
+SETUP_REJECT_SIZE_DESC
 	DE	Definieren Sie die Anzahl an Einträgen, die übersprungen werden sollen, bevor ein Typ wiederholt wird.
 	EN	Set the number of items to skip before repeating a type. (Default: 12)
 	ES	Establecer el número de items a saltearse antes de repetir un tipo. (Por defecto: 12)
@@ -126,28 +126,28 @@
 	NL	Kies een hostnaam of IP adres van de lokale MusicIP server of die op afstand.
 	ZH_CN	请选择主机名或远程或本地的MusicIP服务器的IP地址
 
-SETUP_MMMSTYLE
+SETUP_MIX_STYLE
 	DE	MusicIP Mix Stil
 	EN	MusicIP Mix Style
 	ES	Estilo de mezcla de MusicIP
 	NL	MusicIP Mix stijl
 	ZH_CN	MusicIP混音风格
 
-SETUP_MMMSTYLE_DESC
+SETUP_MIX_STYLE_DESC
 	DE	Wie ähnlich muss der Stil des Interpreten sein (0=nicht berücksichtigen (Vorgabe), 200=sehr ähnlich)
 	EN	How much like the artist style ( 0 = ignore (default), 200 = strict )
 	ES	Qué tan parecido al estilo del artista ( 0 = ignorar (por defecto), 200 = estricto )
 	NL	Hoeveel lijkend op de artieststijl (0=negeren (standaard), 200=Strikt)
 	ZH_CN	有多接近艺人的风格 (0=不理睬(缺省),200=严格)
 
-SETUP_MMMVARIETY
+SETUP_MIX_VARIETY
 	DE	MusicIP Mix Vielseitigkeit
 	EN	MusicIP Mix Variety
 	ES	Variedad de Mezcla de MusicIP
 	NL	MusicIP Mix gevarieerdheid
 	ZH_CN	MusicIP混音品种变化
 
-SETUP_MMMVARIETY_DESC
+SETUP_MIX_VARIETY_DESC
 	DE	Wie vielseitig soll der Mix sein (0 = weniger (Vorgabe), 9 = mehr)
 	EN	How much variety in the mix ( 0 = less (default), 9 = more )
 	ES	Cuánta variedad en la mezcla ( 0 = menos (por defecto), 9 = más )



More information about the checkins mailing list