PDA

View Full Version : playlistdb-bmf branch has been merged!



Dan Sully
2005-06-22, 14:02
It's all in the trunk now.

Thanks to everyone who worked on it!

-D
--
They're techno trousers, ex-NASA, fantastic for walkies!

Ben Sandee
2005-06-23, 08:28
On 6/22/05, Dan Sully <dan (AT) slimdevices (DOT) com> wrote:
> It's all in the trunk now.
>
> Thanks to everyone who worked on it!

Dan,

It's working great for me. I haven't performed a benchmark like this
in quite awhile but I find adding large numbers of tracks to playlists
to be quite a bit quicker -- shuffling the playlists is also much
faster too I believe.

I've got a relatively low-horsepower linux server driving things.

Ben

jth
2005-06-23, 08:59
The good: shuffling and playing large playlists is quite a bit faster. Thanks!

The bad: The presentation of the playlists directory from the web interface is different than before. Instead of playlists in subfolders appearing in their subfolders, everything is now flat. Also underscores are no longer converted to spaces and spaces appear as HTML entities (%20).

If these are bugzilla-worthy I'll file them.

Craig, James (IT)
2005-06-24, 02:04
I tried last night's 6.1 download.

I am very happy!

1) clients stayed connected during iTunes playlist scan (probably
because of the pauses to flush to the db) although I haven't tested
playback during the scan.

2) SlimServer memory usage seems to have dropped significantly (from
70Mb to 33Mb) - of course this could be due to something else?

3) playlist performance is fantastic. I added a short (10 track)
playlist to my Squeezebox1 and started playback.
I then added a 2000 track playlist and cycled through all the shuffle
options. Playback continued with no flaws during this.

4) no problems with display formatting, but all my playlists are from
iTunes.

One complaint - I believe the ordering of the playlists in the 'browse
playlists' display has changed?
I use a leading '.' to force some playlists to come before others in
iTunes and I am fairly sure this also worked in SlimServer.
Now the leading . is ignored and the subsequent characters used for
sorting.
Can we have the original behaviour back?

Overall big thumbs up though - this resolves pretty much my only major
SlimServer complaint!


James
--------------------------------------------------------

NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited.

James
2005-06-24, 12:14
I also see that the command
Slim::Control::Command::execute( $client, [ 'playlist', 'add', $trackurl ] );
doesn't seem to work any more. I get this backtrace with the appropriate logging turned on.

2005-06-24 20:06:50.8937 Null track request!
2005-06-24 20:06:50.8953 Backtrace:

frame 0: Slim::DataStores::DBI::DBIStore::objectForUrl (/PerlApp/Slim/Utils/Scan.pm line 542)
frame 1: Slim::Utils::Scan::readList (/PerlApp/Slim/Utils/Scan.pm line 209)
frame 2: Slim::Utils::Scan::addToList_run (/PerlApp/Slim/Utils/Scan.pm line 149)
frame 3: Slim::Utils::Scan::addToList (/PerlApp/Slim/Control/Command.pm line 989)
frame 4: Slim::Control::Command::execute (C:/Program Files/SlimServer6/server/Plugins/iTunesPartyShuffle.pm line 356)

frame 5: Plugins::iTunesPartyShuffle::addPartyShuffleTrack (C:/Program Files/SlimServer6/server/Plugins/iTunesPartySh
uffle.pm line 156)
frame 6: Plugins::iTunesPartyShuffle::__ANON__ (/PerlApp/Slim/Hardware/IR.pm line 662)
frame 7: Slim::Hardware::IR::executeButton (/PerlApp/Slim/Control/Command.pm line 588)
frame 8: Slim::Control::Command::execute (/PerlApp/Slim/Player/Client.pm line 1001)
frame 9: Slim::Player::Client::execute (/PerlApp/Slim/Hardware/IR.pm line 675)
frame 10: Slim::Hardware::IR::processCode (/PerlApp/Slim/Hardware/IR.pm line 538)
frame 11: Slim::Hardware::IR::releaseCode (/PerlApp/Slim/Hardware/IR.pm line 431)
frame 12: Slim::Hardware::IR::checkRelease (/PerlApp/Slim/Utils/Timers.pm line 100)
frame 13: Slim::Utils::Timers::checkTimers (slimserver.pl line 634)
frame 14: main::idle (slimserver.pl line 572)
frame 15: main::main (slimserver.pl line 61)
frame 16: PerlSvc::Interactive (perlsvc.pl line 1485)
frame 17: PerlSvc::_interactive (slimserver.pl line 0)
frame 18: (eval) (slimserver.pl line 0)

Now I notice that KDF has already changed to using the following in his Random plugin
Slim::Control::Command::execute($client, ["playlist", "addtracks", "track=".$item->id()]);

and indeed this works fine for my plugin.

Is the first command no longer working a bug?

James

Dan Sully
2005-06-24, 12:16
* James shaped the electrons to say...

>I also see that the command
>Slim::Control::Command::execute( $client, [ 'playlist', 'add',
>$trackurl ] );
>doesn't seem to work any more. I get this backtrace with the
>appropriate logging turned on.
>
>Now I notice that KDF has already changed to using the following in his
>Random plugin
>Slim::Control::Command::execute($client, ["playlist", "addtracks",
>"track=".$item->id()]);
>
>and indeed this works fine for my plugin.
>
>Is the first command no longer working a bug?

James - it looks like a bug. What is the value of $trackurl that you're passing in?

Could you run with --d_command ?

Thanks.

-D
--
Ya gotta love UNIX, where else do you wonder whether
you can kill a zombie spawned by a daemon's fork?

kdf
2005-06-24, 14:04
Quoting James <James.1r5aj0 (AT) no-mx (DOT) forums.slimdevices.com>:

>
> Now I notice that KDF has already changed to using the following in his
> Random plugin
> Slim::Control::Command::execute($client, ["playlist", "addtracks",
> "track=".$item->id()]);
>
> and indeed this works fine for my plugin.
>
> Is the first command no longer working a bug?
>

if the url is valid, it should work. The reason I changed in the plugin was
because the add command follows with a 'load_done' and I didn't want to track
that to allow track cycling. 'addtracks' is a single command, and less
callbacks to handle :)

The 'add' command was working up until I changed. v1.8 of Random should still be
working, in fact. The plugin, however, grabs an id number, uses that to get
the URL. This guarantees that 'add' can get an id from the url :)

-kdf

James
2005-06-24, 14:33
the version of Random that I had wasn't working - of course I've overwritten it now so I don't know what version it was!

Here's the d_command output - i tried this passing both a url and a track object and neither works any more.

2005-06-24 20:06:50.8871 PartyShuffle: adding file:///E:/David%20Holmes/Let%27s%20Get%20Killed/02%20My%20Mate%20Paul.m4a
to Slim::Player::SoftSqueeze=ARRAY(0x3849920)
2005-06-24 20:06:50.8883 Executing command 25:81:b0:4a:7c:0d: playlist (add) (file:///E:/David%20Holmes/Let%27s%20Get%2
0Killed/02%20My%20Mate%20Paul.m4a) () () () () ()
Use of uninitialized value in string eq at /PerlApp/Slim/Utils/Scan.pm line 203.
Use of uninitialized value in string eq at /PerlApp/Slim/Utils/Scan.pm line 203.
Use of uninitialized value in pattern match (m//) at /PerlApp/Slim/Utils/Scan.pm line 526.
2005-06-24 20:06:50.8937 Null track request!
2005-06-24 20:06:50.8953 Backtrace:

frame 0: Slim::DataStores::DBI::DBIStore::objectForUrl (/PerlApp/Slim/Utils/Scan.pm line 542)
frame 1: Slim::Utils::Scan::readList (/PerlApp/Slim/Utils/Scan.pm line 209)
frame 2: Slim::Utils::Scan::addToList_run (/PerlApp/Slim/Utils/Scan.pm line 149)
frame 3: Slim::Utils::Scan::addToList (/PerlApp/Slim/Control/Command.pm line 989)
frame 4: Slim::Control::Command::execute (C:/Program Files/SlimServer6/server/Plugins/iTunesPartyShuffle.pm line 356)

frame 5: Plugins::iTunesPartyShuffle::addPartyShuffleTrack (C:/Program Files/SlimServer6/server/Plugins/iTunesPartySh
uffle.pm line 156)
frame 6: Plugins::iTunesPartyShuffle::__ANON__ (/PerlApp/Slim/Hardware/IR.pm line 662)
frame 7: Slim::Hardware::IR::executeButton (/PerlApp/Slim/Control/Command.pm line 588)
frame 8: Slim::Control::Command::execute (/PerlApp/Slim/Player/Client.pm line 1001)
frame 9: Slim::Player::Client::execute (/PerlApp/Slim/Hardware/IR.pm line 675)
frame 10: Slim::Hardware::IR::processCode (/PerlApp/Slim/Hardware/IR.pm line 538)
frame 11: Slim::Hardware::IR::releaseCode (/PerlApp/Slim/Hardware/IR.pm line 431)
frame 12: Slim::Hardware::IR::checkRelease (/PerlApp/Slim/Utils/Timers.pm line 100)
frame 13: Slim::Utils::Timers::checkTimers (slimserver.pl line 634)
frame 14: main::idle (slimserver.pl line 572)
frame 15: main::main (slimserver.pl line 61)
frame 16: PerlSvc::Interactive (perlsvc.pl line 1485)
frame 17: PerlSvc::_interactive (slimserver.pl line 0)
frame 18: (eval) (slimserver.pl line 0)

Use of uninitialized value in open at /PerlApp/Slim/Utils/Scan.pm line 636.