Changeset 239


Ignore:
Timestamp:
05/02/07 20:23:34 (12 years ago)
Author:
stuarth
Message:

Intermediate checkpoint on the way to 7.0a1 compatibility. I've not given this
much testing, but it basically appears to work for me for simple searches
through the remote. Also, I've tried MusicIP and that still appears to work
OK (MoodLogic?, however, has been removed from the main codebase and so has also
been removed from this plugin).

Still to do, apart from a major test, is as follows:

  • Proper packaging (PAR).
  • Plugin settings (they are completely missing, at the moment).
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r235 r239  
    66 
    77VERSION=3.0b1 
    8 PERLSOURCE=Plugin.pm.in 
    9 PERLTARGETS=Plugin.pm 
    10 SOURCE=$(PERLSOURCE) strings.txt install.xml.in 
    11 TARGETS=$(PERLTARGETS) strings.txt install.xml 
     8PERLSOURCE=Plugin.pm 
     9SOURCE=$(PERLSOURCE) INSTALL strings.txt install.xml 
    1210RELEASEDIR=releases 
    13 DEST=LazySearch2.pm 
    14 DESTSTAGE=$(RELEASEDIR)/$(DEST) 
    15 DISTFILES=$(DESTSTAGE) INSTALL 
     11STAGEDIR=stage 
    1612SLIMDIR=/usr/local/slimserver7/server 
    1713PLUGINSDIR=$(SLIMDIR)/Plugins 
     
    2319LATESTLINK=$(RELEASEDIR)/LazySearch2-7_0-latest.zip 
    2420 
    25 #.SILENT: 
     21.SILENT: 
    2622 
    2723all: 
     
    3127FORCE: 
    3228 
    33 Plugin.pm: Plugin.pm.in 
    34     sed "s/@@VERSION@@/$(VERSION)/" <"$^" >"$@" 
    35  
    36 install.xml: install.xml.in 
    37     sed "s/@@VERSION@@/$(VERSION)/" <"$^" >"$@" 
     29make-stage: 
     30    echo "Creating plugin stage files (v$(VERSION))..." 
     31    -rm -rf $(STAGEDIR)/* >/dev/null 2>&1 
     32    for FILE in $(SOURCE); do \ 
     33        sed "s/@@VERSION@@/$(VERSION)/" <"$$FILE" >"$(STAGEDIR)/$$FILE"; \ 
     34    done 
     35    chmod -w $(STAGEDIR)/* 
    3836 
    3937# Regenerate tags. 
    40 tags: $(SOURCE) 
     38tags: $(PERLSOURCE) 
     39    echo Tagging... 
    4140    exuberant-ctags $^ 
    4241 
    4342# Run the plugin through the Perl beautifier. 
    4443pretty: 
    45     perltidy -b -ce -et=4 $(SOURCE) && rm $(SOURCE).bak 
     44    for FILE in $(PERLSOURCE); do \ 
     45        perltidy -b -ce -et=4 $$FILE && rm $$FILE.bak; \ 
     46    done 
    4647    echo "You're Beautiful..." 
    4748 
    4849# Install the plugin in SlimServer. 
    49 install: $(TARGETS) 
     50install: make-stage 
    5051    echo Installing plugin... 
    5152    -[[ -d "$(PLUGINSDIR)/$(PLUGINDIR)" ]] && chmod -R +w "$(PLUGINSDIR)/$(PLUGINDIR)" 
    5253    -[[ -d "$(PLUGINSDIR)/$(PLUGINDIR)" ]] && rm -r "$(PLUGINSDIR)/$(PLUGINDIR)" 
    5354    mkdir "$(PLUGINSDIR)/$(PLUGINDIR)" 
    54     cp $(SOURCE) "$(PLUGINSDIR)/$(PLUGINDIR)" 
     55    cp -r $(STAGEDIR)/* "$(PLUGINSDIR)/$(PLUGINDIR)" 
    5556    chmod -R -w "$(PLUGINSDIR)/$(PLUGINDIR)" 
    5657 
     
    6061    echo "Forcefully restarting SlimServer..." 
    6162    /etc/init.d/slimserver7 stop 
     63    /etc/init.d/slimserver7 zap 
    6264    sleep 5 
    63     >/var/log/slimserver7/messages 
    64     /etc/init.d/slimserver7 zap 
     65    >/var/log/slimserver7/server.log 
     66    >/var/log/slimserver7/scanner.log 
     67    >/var/log/slimserver7/perfmon.log 
    6568    /etc/init.d/slimserver7 restart 
    6669 
    6770logtail: 
    6871    echo "Following the end of the SlimServer log..." 
    69     tail -F /var/log/slimserver/messages 
     72    tail -F /var/log/slimserver7/server.log 
    7073 
    71 # Build a distrubution package for this Plugin. 
     74# TODO - fix this for new package layout 
     75# Build a distribution package for this Plugin. 
    7276release: $(DISTFILES) 
    7377    echo Building distfile: $(DISTFILE) 
     
    7983    rm $(DESTSTAGE) 
    8084    cp $(DISTFILEDIR) $(SVNDISTFILE) 
    81  
    82 # Build a version of the plugin with the revision information substituted 
    83 $(DESTSTAGE): $(SOURCE) 
    84     echo "Inserting plugin revision ($(REVISION))..." 
    85     sed "s/@@REVISION@@/$(REVISION)/" <"$^" >"$@" 
  • trunk/Plugin.pm

    r237 r239  
    2525use warnings; 
    2626 
    27 package Plugins::LazySearch2; 
     27package Plugins::LazySearch2::Plugin; 
     28 
     29use base qw(Slim::Plugin::Base); 
    2830 
    2931use utf8; 
     
    3234use Slim::Utils::Text; 
    3335use Slim::Utils::Timers; 
     36use Slim::Utils::Log; 
    3437use Time::HiRes; 
    3538use Text::Unidecode; 
     
    9396# Export the version to the server (as a subversion keyword). 
    9497use vars qw($VERSION); 
    95 $VERSION = 'trunk-7.0 v@@VERSION@@'; 
     98$VERSION = 'v@@VERSION@@ (trunk-7.0)'; 
     99 
     100# A logger we will use to write plugin-specific messages. 
     101#@@TODO@@ - change default level to INFO 
     102my $log = Slim::Utils::Log->addLogCategory({ 
     103        'category' => 'plugin.lazysearch2', 
     104        'defaultLevel' => 'DEBUG', 
     105        'description' => 'PLUGIN_LAZYSEARCH2' 
     106    }); 
     107 
    96108 
    97109# This hash-of-hashes contains state information on the current lazy search for 
     
    195207# Main mode of this plugin; offers the artist/album/genre/song browse options 
    196208sub setMode { 
     209    my $class = shift; 
    197210    my $client = shift; 
    198211    my $method = shift || ''; 
     
    237250            # If rescan is in progress then warn the user. 
    238251            if ( $lazifyingDatabase || Slim::Music::Import->stillScanning() ) { 
    239                 $::d_plugins 
    240                   && Slim::Utils::Misc::msg( 
    241                     "LazySearch2: Entering search while scan in progress\n"); 
     252                $log->info("Entering search while scan in progress"); 
    242253                if ( $client->linesPerScreen == 1 ) { 
    243254                    $client->showBriefly( 
     
    255266        # These are all menu items and so have a right-arrow overlay 
    256267        overlayRef => sub { 
    257             return [ undef, Slim::Display::Display::symbol('rightarrow') ]; 
     268            my $client = shift; 
     269            return [ undef, $client->symbols('rightarrow') ]; 
    258270        }, 
    259271    ); 
     
    550562# process extra buttons. 
    551563sub initPlugin() { 
     564 
     565    my $class = shift; 
     566 
    552567    return if $initialised;    # don't need to do it twice 
    553568 
    554     $::d_plugins 
    555       && Slim::Utils::Misc::msg("LazySearch2: Initialising $VERSION\n"); 
     569    $log->info("Initialising $VERSION"); 
     570 
     571    $class->SUPER::initPlugin(@_); 
    556572 
    557573    # Remember we're now initialised. This prevents multiple-initialisation, 
     
    565581    # Subscribe so that we are notified when the database has been rescanned; 
    566582    # we use this so that we can apply lazification. 
    567     Slim::Control::Request::subscribe( \&Plugins::LazySearch2::scanDoneCallback, 
     583    Slim::Control::Request::subscribe( \&Plugins::LazySearch2::Plugin::scanDoneCallback, 
    568584        [ ['rescan'], ['done'] ] ); 
    569585 
    570586    # Top-level menu mode. We register a custom INPUT.Choice mode so that 
    571587    # we can detect when we're in it (for SEARCH button toggle). 
    572     $::d_plugins 
    573       && Slim::Utils::Misc::msg( 
    574         "LazySearch2: Making custom INPUT.Choice-derived modes\n"); 
     588    $log->debug("Making custom INPUT.Choice-derived modes"); 
    575589    Slim::Buttons::Common::addMode( LAZYSEARCH_TOP_MODE, undef, \&setMode ); 
    576590    Slim::Buttons::Common::addMode( 
     
    692706        \&scanDoneCallback ); 
    693707 
    694     $::d_plugins 
    695       && Slim::Utils::Misc::msg("LazySearch2: Initialisation completed\n"); 
     708    $log->debug("Initialisation complete"); 
    696709} 
    697710 
     
    699712    return if !$initialised;    # don't need to do it twice 
    700713 
    701     $::d_plugins && Slim::Utils::Misc::msg("LazySearch2: Shutting down\n"); 
     714    $log->debug("Shutting down"); 
    702715 
    703716    # Remove the subscription we'd previously registered 
    704717    Slim::Control::Request::unsubscribe( 
    705         \&Plugins::LazySearch2::scanDoneCallback ); 
     718        \&Plugins::LazySearch2::Plugin::scanDoneCallback ); 
    706719 
    707720    # @@TODO@@ 
     
    893906            'onChange' => sub { 
    894907                if ( !$lazifyingDatabase ) { 
    895                     $::d_plugins 
    896                       && Slim::Utils::Misc::msg( 
    897                         "LazySearch2: Manual lazification requested\n"); 
     908                        $log->info("Manual lazification requested"); 
    898909 
    899910                    # Forcibly re-lazify the whole database. 
     
    10401051        for my $import ( keys %{$Imports} ) { 
    10411052            if ( $import->can('mixable') && $import->mixable($item) ) { 
    1042                 $l1 = Slim::Display::Display::symbol('mixable'); 
     1053                $l1 = $client->symbols('mixable'); 
    10431054            } 
    10441055        } 
     
    10561067            && ( $clientMode{$client}{search_type} eq 'Track' ) ) 
    10571068        { 
    1058             $l2 = Slim::Display::Display::symbol('notesymbol'); 
     1069            $l2 = $client->symbols('notesymbol'); 
    10591070        } elsif ( blessed($item) ) { 
    1060             $l2 = Slim::Display::Display::symbol('rightarrow'); 
     1071            $l2 = $client->symbols('rightarrow'); 
    10611072        } 
    10621073    } 
     
    11371148    my $gotoCategory = undef; 
    11381149 
     1150    $log->debug("SEARCH button intercepted"); 
     1151 
    11391152    my $searchBehaviour = 
    11401153      Slim::Utils::Prefs::get('plugin-lazysearch2-hooksearchbutton'); 
     
    11791192    if ( defined $gotoCategory ) { 
    11801193 
     1194        $log->debug("Entering search category menu for '$gotoCategory'"); 
     1195 
    11811196        # This works by first entering the category menu, then immediately 
    11821197        # entering the appropriate search category. This is done so when the 
     
    11871202    } else { 
    11881203        if ($gotoLazy) { 
     1204            # Go to the top-level category menu for the plugin's search mode. 
     1205            $log->debug("Entering top-level category menu"); 
    11891206            enterCategoryMenu($client); 
    11901207        } else { 
    11911208 
    11921209            # Into the normal search menu. 
     1210            $log->debug("Entering normal SEARCH menu"); 
    11931211            Slim::Buttons::Home::jumpToMenu( $client, "SEARCH" ); 
    11941212        } 
     
    12051223    # but when existing the mode it doesn't exit to the lazy top 
    12061224    # level item 
    1207     Slim::Buttons::Common::setMode( $client, 'home' ); 
    1208     Slim::Buttons::Home::jump( $client, LAZYSEARCH_HOME_MENUITEM ); 
    1209     Slim::Buttons::Common::pushMode( $client, LAZYSEARCH_TOP_MODE ); 
     1225#@@TODO@@ - uncomment 
     1226#   Slim::Buttons::Common::setMode( $client, 'home' ); 
     1227#   Slim::Buttons::Home::jump( $client, LAZYSEARCH_HOME_MENUITEM ); 
     1228#   Slim::Buttons::Common::pushMode( $client, LAZYSEARCH_TOP_MODE ); 
     1229    setMode(undef, $client, 'push'); 
    12101230} 
    12111231 
     
    13231343        my $id = $item->id; 
    13241344 
    1325         $::d_plugins 
    1326           && Slim::Utils::Misc::msg( 
    1327 "LazySearch2: PLAY/ADD/INSERT pressed on '$clientMode{$client}{search_type}' search results (id $id), addMode=$addMode\n" 
    1328           ); 
     1345        $log->debug("PLAY/ADD/INSERT pressed on '$clientMode{$client}{search_type}' search results (id $id), addMode=$addMode"); 
    13291346 
    13301347        @playItems = &$searchTracksFunction($id); 
    13311348    } else { 
    13321349 
    1333         $::d_plugins 
    1334           && Slim::Utils::Misc::msg( 
    1335             "LazySearch2: All for '$clientMode{$client}{search_type}' chosen\n" 
    1336           ); 
     1350        $log->debug("All for '$clientMode{$client}{search_type}' chosen"); 
    13371351 
    13381352        for $item (@$listRef) { 
     
    13501364 
    13511365    # Now we've built the list of track items, play them. 
    1352     $::d_plugins 
    1353       && Slim::Utils::Misc::msg( 
    1354         "LazySearch2: About to '$cmd' " . scalar @playItems . " items\n" ); 
     1366    $log->debug("About to '$cmd' " . scalar @playItems . " items"); 
    13551367    $client->execute( [ 'playlist', $cmd, 'listref', \@playItems ] ); 
    13561368 
     
    16361648        { 
    16371649            columns => 
    1638               [ 'id', 'name', 'moodlogic_mixable', 'musicmagic_mixable' ], 
     1650              [ 'id', 'name', 'musicmagic_mixable' ], 
    16391651            order_by => 'name' 
    16401652        } 
     
    16751687        { 
    16761688            columns => 
    1677               [ 'id', 'name', 'moodlogic_mixable', 'musicmagic_mixable' ], 
     1689              [ 'id', 'name', 'musicmagic_mixable' ], 
    16781690            order_by => 'name' 
    16791691        } 
     
    16961708            columns => [ 
    16971709                'id',  'title', 
    1698                 'url', 'moodlogic_mixable', 
     1710                'url', 
    16991711                'musicmagic_mixable' 
    17001712            ], 
     
    19341946    my $item      = $items->[$listIndex]; 
    19351947 
    1936     $::d_plugins 
    1937       && Slim::Utils::Misc::msg( 
    1938         'LazySearch2: Creating mix for item ' . $item->id . "\n" ); 
     1948    $log->debug('Creating mix for item ' . $item->id); 
    19391949 
    19401950    # Punt on to the implementation in BrowseDB... This is not very elegant 
     
    21522162# information. 
    21532163sub scanDoneCallback($) { 
    2154     $::d_plugins 
    2155       && Slim::Utils::Misc::msg( 
    2156         "LazySearch2: Received notification of end of rescan\n"); 
     2164    $log->debug("Received notification of end of rescan"); 
    21572165 
    21582166    # Check the plugin version that was present when we last lazified - if it 
     
    21642172 
    21652173    if ( $prefRevision ne $pluginRevision ) { 
    2166         $::d_plugins 
    2167           && Slim::Utils::Misc::msg( 
    2168 "LazySearch2: Re-lazifying (plugin version changed from '$prefRevision' to '$pluginRevision'\n" 
    2169           ); 
     2174        $log->info("Re-lazifying (plugin version changed from '$prefRevision' to '$pluginRevision'"); 
    21702175        $force = 1; 
    21712176        Slim::Utils::Prefs::set( 'plugin-lazysearch2-revision', 
    21722177            $pluginRevision ); 
    21732178    } else { 
    2174         $::d_plugins 
    2175           && Slim::Utils::Misc::msg( 
    2176             "LazySearch2: Lazifying entries not already done\n"); 
    2177     } 
    2178  
    2179     lazifyDatabase($force); 
     2179        $log->info("Lazifying database items not already done"); 
     2180    } 
    21802181} 
    21812182 
     
    21842185# lazy form and schedules a SlimServer background task to encode them. 
    21852186sub lazifyDatabase($) { 
     2187 
    21862188    my $force = shift; 
    21872189 
     
    22062208    # will do that work in chunks. 
    22072209    if ( scalar keys %encodeQueues ) { 
    2208         $::d_plugins 
    2209           && Slim::Utils::Misc::msg( 
    2210             "LazySearch2: Scheduling backround lazification\n"); 
     2210        $log->debug("Scheduling backround lazification"); 
    22112211        Slim::Utils::Scheduler::add_task( \&encodeTask ); 
    22122212        $lazifyingDatabase = 1; 
    22132213    } else { 
    2214         $::d_plugins 
    2215           && Slim::Utils::Misc::msg( 
    2216 "LazySearch2: No object types require lazification - no task scheduled\n" 
    2217           ); 
     2214        $log->debug("No object types require lazification - no task scheduled"); 
    22182215    } 
    22192216} 
     
    22932290    my $rsCount = $rs->count; 
    22942291 
    2295     $::d_plugins 
    2296       && Slim::Utils::Misc::msg( 
    2297         "LazySearch2: Lazify type=$type, " . $rsCount . " items to lazify\n" ); 
     2292    $log->debug("Lazify type=$type, " . $rsCount . " items to lazify"); 
    22982293 
    22992294    # Store the unlazified item IDs; later, we'll work on these in chunks from 
     
    23222317    # a scan is in progress we cancel the whole encode task. 
    23232318    if ( Slim::Music::Import->stillScanning() ) { 
    2324         $::d_plugins 
    2325           && Slim::Utils::Misc::msg( 
    2326 "LazySearch2: Detected a rescan while database scan in progress - cancelling lazy encoding\n" 
    2327           ); 
     2319        $log->debug("Detected a rescan while database scan in progress - cancelling lazy encoding"); 
    23282320        %encodeQueues = (); 
    23292321 
     
    23492341    my $keywordTrack   = $typeHash{keyword_track}; 
    23502342 
    2351     $::d_plugins 
    2352       && Slim::Utils::Misc::msg( 'LazySearch2: EncodeTask - ' 
     2343    $log->debug( 'EncodeTask - ' 
    23532344          . $remainingItems 
    23542345          . " $type" 
    2355           . "s remaining\n" ); 
     2346          . "s remaining" ); 
    23562347 
    23572348    # Go through and encode each of the identified IDs. To maintain performance 
     
    24202411        $speed = int( $rowsDone / ( $endTime - $startTime ) ); 
    24212412    } 
    2422     $::d_plugins 
    2423       && Slim::Utils::Misc::msg( 
    2424         "LazySearch2: Lazifier running at $speed $type" . "s/sec\n" ); 
     2413    $log->debug("Lazifier running at $speed $type" . "s/sec" ); 
    24252414 
    24262415    # If we've exhausted the ids for this type then remove this type from the 
     
    24292418    if ( !defined($obj) ) { 
    24302419        delete $encodeQueues{$type}; 
    2431         $::d_plugins 
    2432           && Slim::Utils::Misc::msg("LazySearch2: Exhaused IDs for $type\n"); 
     2420        $log->debug("Exhaused IDs for $type"); 
    24332421    } 
    24342422 
     
    24392427        $rescheduleTask = 1; 
    24402428    } else { 
    2441         $::d_plugins 
    2442           && Slim::Utils::Misc::msg("LazySearch2: Lazification completed\n"); 
     2429        $log->info("Database lazification completed"); 
    24432430 
    24442431        $rescheduleTask = 0; 
     
    26202607 
    26212608                    onLeft => sub { 
    2622                         $::d_plugins 
    2623                           && Slim::Utils::Misc::msg("LazySearch2: LEFT\n"); 
     2609                          $log->debug("LEFT"); 
    26242610                    }, 
    26252611 
     
    26512637                # We're currently at the track level so push into track info 
    26522638                # browse mode (which needs the track URL to be looked-up). 
    2653                 $::d_plugins 
    2654                   && Slim::Utils::Misc::msg( 
    2655 "LazySearch2: going into trackinfo mode for track ID=$id url=" 
    2656                       . $item->url 
    2657                       . "\n" ); 
     2639                $log->debug("going into trackinfo mode for track ID=$id url=" 
     2640                      . $item->url); 
    26582641                Slim::Buttons::Common::pushModeLeft( $client, 'trackinfo', 
    26592642                    { 'track' => $item } ); 
     
    27132696# database has changed - this schedules a forced relazify of the database. 
    27142697sub scheduleForcedRelazify { 
    2715     $::d_plugins 
    2716       && Slim::Utils::Misc::msg( 
    2717 "LazySearch2: Scheduling database relazification because of preference changes.\n" 
    2718       ); 
     2698    $log->info("Scheduling database relazification because of preference changes"); 
    27192699 
    27202700    # Remove any existing scheduled callback. 
  • trunk/install.xml

    r237 r239  
    33<extension> 
    44    <id>a8cab4c9-904c-4f41-877f-276c29e6edea</id> 
    5     <name>LAZYSEARCH2</name> 
    6     <module>Slim::Plugin::LazySearch2::Plugin</module> 
     5    <name>PLUGIN_LAZYSEARCH2</name> 
     6    <module>Plugins::LazySearch2::Plugin</module> 
    77    <version>@@VERSION@@</version> 
    88    <description>PLUGIN_LAZYSEARCH2_DESC</description> 
  • trunk/strings.txt

    r235 r239  
    2020 
    2121PLUGIN_LAZYSEARCH2_DESC 
    22     EN  Perform searches more quickly and easily using the remote control 
     22    EN  Perform searches more quickly and easily using your player's remote control. 
    2323 
    2424PLUGIN_LAZYSEARCH2_TOPMENU 
     
    3939 
    4040PLUGIN_LAZYSEARCH2_LINE1_SEARCHING 
    41     DA  SÞger efter \'%s\' ... 
    42     DE  Suchen nach \'%s\' ... 
    43     EN  Searching for \'%s\' ... 
    44     ES  Buscando \'%s\' ... 
    45     FI  Haen \'%s\'... 
    46     NL  Zoekend naar \'%s\' ... 
     41    DA  SÞger efter '%s' ... 
     42    DE  Suchen nach '%s' ... 
     43    EN  Searching for '%s' ... 
     44    ES  Buscando '%s' ... 
     45    FI  Haen '%s'... 
     46    NL  Zoekend naar '%s' ... 
    4747 
    4848PLUGIN_LAZYSEARCH2_SHOWBRIEFLY_DISPLAY 
     
    188188 
    189189SETUP_PLUGIN_LAZYSEARCH2_GROUP_LAZYSEARCH2_DESC 
    190     DA  Indstillingen nedenfor styrer ydelsen af lazy search afspillerens interface. Det er anbefalet at <i>Lazy Search Music</i> menuen fra dette plugin bliver tilfÞjet til en afspiller\'s home menu for at give nem adgang til dette plugin\'s funktioner. (Standard sÞgefunktionen vil ogsÃ¥ give adgang til denne funktionalitet). 
     190    DA  Indstillingen nedenfor styrer ydelsen af lazy search afspillerens interface. Det er anbefalet at <i>Lazy Search Music</i> menuen fra dette plugin bliver tilfÞjet til en afspiller's home menu for at give nem adgang til dette plugin's funktioner. (Standard sÞgefunktionen vil ogsÃ¥ give adgang til denne funktionalitet). 
    191191    DE  Mit den unten angebenen Einstellungen kann definiert werden, wie sich die Player-OberflÀche der Faulpelz-Suche verhÀlt. Es wird empfohlen, den Plugin-MenÃŒpunkt <i>Faulpelz-Suche</i> zum HauptmenÃŒ des Players hinzuzufÃŒgen, um einen einfachen Zugriff auf die Funktionen dieses Plugins zu ermöglichen (die Standard <i>SEARCH</i>-Taste auf der Fernbedienung ermöglicht ebenfalls den Zugang zu dieser FunktionalitÀt). 
    192     EN  The settings below control how the lazy searching player interface performs. It is suggested that the <i>Lazy Search Music</i> menu item from this plugin is added to a player\'s home menu to provide easy access to this plugin\'s functions (the standard remote <i>search</i> button will also access this functionality). 
     192    EN  The settings below control how the lazy searching player interface performs. It is suggested that the <i>Lazy Search Music</i> menu item from this plugin is added to a player's home menu to provide easy access to this plugin's functions (the standard remote <i>search</i> button will also access this functionality). 
    193193    ES  La configuración debajo controla cómo actúa la interface de búsqueda laxa del reproductor. Se sugiere que el item de menú <i>Búsqueda Laxa de Música</i> para este plugin se añada al menú inicial del reproductor para brindar un acceso fácil a las funciones del plugin (el botón <i>search</i> estándar del control remoto tendrá también acceso a esta funcionalidad). 
    194194    FI  Alla olevat asetukset vaikuttavat laiskan haun toimintaan. KÀtevin tapa kÀyttÀÀ <i>laiskaa musiikin hakua</i> on lisÀtÀ se soittimen pÀÀvalikkoon soittimen asetuksista. Laiskaan hakuun pÀÀsee myös painamalla kaukosÀÀtimen <i>hae</i>-nappia. 
     
    206206    DA  SÞgning efter kunstner, album, genre eller sang med et kort antal tegn er ikke brugbart i praksis, da det vil resultere i et stort antal resultater. For at undgÃ¥ at sÞgningen starter fÞr et mere brugbart antal tegn bliver tastet, kan et minimum antal tegn specificeres her. Der er separate indstillinger for kunstner og album navn, genre og sangtitel. - Det anbefales at bruge 3 for kunstner, album og genre, og 4 for sangtitel. 
    207207    DE  Die Suche nach Interpreten, Alben, Stilrichtungen oder Titel mit einer zu kleinen Zahl von Zeichen ist nicht besonders sinnvoll, da sie zu viele Ergebnisse liefert. Um zu verhindern, dass eine Suche gestartet wird, bevor eine sinnvolle Anzahl von Zeichen eingeben wurde, ist eine Mindestzahl von Zeichen vorgegeben. Es gibt unterschiedliche Einstellungen fÃŒr Interpretennamen, Albumnamen und Liedertitel - sinnvolle Voreinstellungen sind 3 fÃŒr Interpreten und Alben und 4 fÃŒr Lieder. 
    208     EN  Searching for artists, albums, genres or songs with a short number of characters isn\'t very useful as it will return so many results. To prevent a search being performed until a more useful number of characters have been entered a mininum number of characters is specified here. There are separate settings for artists and album names, genres and song titles - a setting of 3 for artists, albums and genres, and 4 for songs, is a useful default. 
     208    EN  Searching for artists, albums, genres or songs with a short number of characters isn't very useful as it will return so many results. To prevent a search being performed until a more useful number of characters have been entered a mininum number of characters is specified here. There are separate settings for artists and album names, genres and song titles - a setting of 3 for artists, albums and genres, and 4 for songs, is a useful default. 
    209209    ES  El buscar artistas, álbumes, géneros o canciones con muy pocos caracteres no es muy útil, ya que retornará demasiados resultados. Para evitar que se efectúe una búsqueda hasta que se hayan ingresado más caracteres, se especifica aquí un número mínimo de ellos. Existen configuraciones individuales para búsqueda por nombre de artistas, nombre de álbumes, y nombre de canciones - valores por defecto apropiados son 3 caracteres para artistas, álbumes y géneros, y 4 caracteres para canciones. 
    210210    FI  Jos haet esittÀjÀÀ, levyÀ, lajia tai kappaletta liian lyhyellÀ sanalla, niin saat usein liian monta vastausta. Alla voit mÀÀritellÀ montako kirjainta pitÀÀ kirjoittaa, ettÀ laiska haku aloittaa haun. Voit mÀÀritellÀ eri arvon eri hakutavoille. Oletusarvoisesti lyhin kirjainmÀÀrÀ on esittÀjÀlle, levylle ja lajille kolme, sekÀ kappaleen nimelle neljÀ. 
     
    354354SETUP_PLUGIN_LAZYSEARCH2_IGNOREAAKEYWORD_DESC 
    355355    DE  Je nachdem, wie man seine Alben mit "tags" versieht, kann es erwÃŒnscht oder unerwÃŒnscht sein, dass Album-Interpreten (der Inhalt des ALBUMARTIST tags) in der Liste der Interpreten, die zu einer Stichwort-Suche passen, angezeigt werden. Wenn man z.B. bei Samplern den Album-Interpreten auf "Various Artist" setzt, dann erwartet man diesen Wert nicht als Ergebnis einer Stichwort-Suche, da man an dem individuellen Interpreten des Liedes interessiert ist. Album-Interpreten nicht anzuzeigen ist die Voreinstellung. 
    356     EN  Depending on how you tag your albums you may or may not want your album artists (the ALBUMARTIST tag) to be returned in the list of artists matching a keyword search. For example, if you set the album artist to "Various Artists" for your compilations then you won\'t expect that to be returned in keyword searches because it\'s the individual song artists that you\'re interested in. Not returning album artists is the default behaviour. 
     356    EN  Depending on how you tag your albums you may or may not want your album artists (the ALBUMARTIST tag) to be returned in the list of artists matching a keyword search. For example, if you set the album artist to "Various Artists" for your compilations then you won't expect that to be returned in keyword searches because it's the individual song artists that you're interested in. Not returning album artists is the default behaviour. 
    357357    FI  Riippuen siitÀ miten olet merkinnyt levysi, niin saatat haluta, ettÀ levyn esittÀjÀ (ALBUMARTIST-merkintÀ) sisÀllytetÀÀn esittÀjÀlistaan sana-haussa. Esimerkiksi, jos mÀÀrittelet kokoelmalevyn esittÀjÀksi "Various Artist", niin et luultavasti halua sisÀllyttÀÀ sitÀ esittÀjÀlistaan, koska haluat löytÀÀ yksittÀisen kappaleen esittÀjÀn. Oletusarvo on pois pÀÀltÀ. 
    358358 
     
    377377SETUP_PLUGIN_LAZYSEARCH2_HOOKSEARCHBUTTON_DESC 
    378378    DE  Mit dieser Einstellung kann man die SEARCH-Taste auf der Squeezebox/Transporter-Fernbedienung mit der FunktionalitÀt der <i>Faulpelz-Suche</i> anstelle der FunktionalitÀt der originalen <i>Suche</i> belegen. Mit weiteren Optionen kann man festlegen, dass mit der SEARCH-Taste unmittelbar ein gewÀhlter Typ der Faulpelz-Suche ausgewÀhlt wird. Dies spart Zeit, wenn man meistens diesen Typ verwenden möchte. 
    379     EN  This setting allows the SEARCH button on the Squeezebox/Transporter remote control to be remapped to the <i>lazy search music</i> function instead of the original <i>search music</i> function. Further options allow the SEARCH button to immediately enter a chosen type of lazy search, which saves time if that\'s the type of search you prefer to use most often. 
     379    EN  This setting allows the SEARCH button on the Squeezebox/Transporter remote control to be remapped to the <i>lazy search music</i> function instead of the original <i>search music</i> function. Further options allow the SEARCH button to immediately enter a chosen type of lazy search, which saves time if that's the type of search you prefer to use most often. 
    380380    FI  TÀllÀ asetuksella voit muuttaa miten Squeezeboxin / Transporterin HAKU-nappi toimii. Painamalla sitÀ voit joko pÀÀstÀ <i>laiska musiikin haku</i>-valikkoon tai normaalin <i>haku</i>-valikkoon. Vaihtoehtona on myös, ettÀ HAKU-nappi aloittaa suoraan halutun laiskan haun tyylin, joka sÀÀstÀÀ aikaa, jos yleensÀ kÀytÀt juuri sitÀ hakutyyliÀ. 
    381381    NL  Met deze instelling kan de ZOEKknop op de Squeezebox afstandsbediening gewijzigd worden door <i>de Lazy SEARCH muziek</i> functie in plaats van het originele <i>Zoek muziek</i> functie. Door deze instelling te activeren deze ZOEKknop wijzigind doorgevoerd worden zonder wijziging van de <i>Default.map</i> of <i>Custom.map</i>. Merk op dat de veranderingen in van deze instelling niet van kracht wordt totdat de plugin wordt herladen (b.v. door SlimServer opnieuw te starten). 
     
    487487    DA  Keyword sÞgning giver mulighed for at sÞge mellem flere kategorier, og pÃ¥ den mÃ¥de finde albums, kunstnere og sangtitler som matcher et eller flere <i>keywords</i> i deres titel. Dette kan vÊre brugbart, f.eks. med klassisk musik samlinger som bÃ¥de kan have kunster, forfatter og udÞver inkluderet i sangtitlen og albumkunstneren eller sangkunstneren idet funktionen giver mulighed for at sÞge ligegyldigt hvordan sangens tags er opbygget. FÞlgende indstillinger giver dig mulighed for at specificere hvilke kategorier der bliver inkluderet i keyword sÞgningen. Hvis alle kattegorier er slÃ¥et fra, vil keyword sÞgnings muligheden ikke optrÊde i afspillerens Lazy Search menu. 
    488488    DE  Die Stichwort-Suche ermöglicht die Suche ÃŒber mehrere Kategorien gleichzeitig, d.h. man kann Alben, Interpreten und Lieder finden, die ein oder mehrere <i>Stichworte</i> enthalten. Dies ist z.B. bei klassischen Musiksammlungen hilfreich, bei denen Interpreten, Komponisten und Dirigenten in den Liedertiteln, im Album-Interpret oder im Lied-Interpret enthalten sind, weil du deine Musik suchen und finden kannst unabhÀngig davon, wie die Lieder mit "Tags" versehen sind. Mit den folgenden Optionen kannst du einstellen, welche Kategorien in die Stichwort-Suche einbezogen werden. Wenn keine Kategorien ausgewÀhlt ist, erscheint die Anzeige der Stichwort-Suche nicht im Faulpelz-MenÃŒ am Player. 
    489     EN  Keyword search allows searching across multiple categories, finding albums, artists and songs that match one or more <i>keywords</i> within their titles. This may be useful, for example, with classical music collections which can have artists, composers and performers included in the song titles as well as in the album artist and song artist because it lets you search and find your music no matter how the songs were tagged. The following settings allow you to specify which categories will be included in keyword searches. If all categories are disabled then the keyword search option won\'t appear in the player\'s Lazy Search menu at all. 
     489    EN  Keyword search allows searching across multiple categories, finding albums, artists and songs that match one or more <i>keywords</i> within their titles. This may be useful, for example, with classical music collections which can have artists, composers and performers included in the song titles as well as in the album artist and song artist because it lets you search and find your music no matter how the songs were tagged. The following settings allow you to specify which categories will be included in keyword searches. If all categories are disabled then the keyword search option won't appear in the player's Lazy Search menu at all. 
    490490    FI  Sana-haulla voit etsiÀ samalla kertaa monesta eri kategoriasta. Voit yhdellÀ haulla etsiÀ <i>sanoja</i> levyn, esittÀjÀn tai kappaleen nimestÀ. TÀmÀ on kÀytÀnnöllistÀ esimerkiksi klassisessa musiikissa: esittÀjÀ tai sÀveltÀjÀ voi olla merkitty joko kappaleen, levyn tai esittÀjÀn kohdalle. Sana-haulla voit etsiÀ niistÀ kaikista. Seuraavilla asetuksilla voit mÀÀritellÀ mistÀ asioista haku tehdÀÀn. Jos kaikki ovat pois pÀÀltÀ, niin sana-hakua ei nÀytetÀ ollenkaan laiskan haun valikossa. 
    491491 
Note: See TracChangeset for help on using the changeset viewer.