Linux Music Video Playlist Does NOT work.
#1
Hello all. I have a question that I have been working on most of the day. I built the XBMC this morning from source that it might fix my problem, however it didn't. Now for the problem/issue:

I have used XBMC in the past to create music playlist, and movie playlist. I have recently started a collection of music videos, however, I am trying to build a playlist for the music videos I want. I thought that I would start off simple by putting a few in a directory, quickly added that directory as a source for my library and set the appropriate content( music videos) . It went all fine and dandy and each of the files played when played individually so I know they work. I'm like sweet, easier than ever, then I started trying to create a playlist. Well when I create a playlist with the content as Music Video, the playlist will not find any of my files. At some point, it won't even open the playlist for viewing either. Here is a quick post of what the playlist file looks like and it seems okay to me:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<smartplaylist type="musicvideos">
    <name>dd</name>
    <match>all</match>
    <rule field="path" operator="is">/home/jared/MusicVideos/</rule>
</smartplaylist>


I figured that if I supplied the direct path, there wouldn't be an issue, yet this playlist wont even open. Does anybody have any clues to what might be going on? I'd really appreciate any feedback!

Additionally here is the log file portion that is pertinent to the point which the error occurs:

Quote:19:03:22 T:139746738800576 DEBUG: ProcessMouse: trying mouse action leftclick
19:03:22 T:139746738800576 DEBUG: CGUIMediaWindow::GetDirectory (special://profile/playlists/video/dd.xsp)
19:03:22 T:139746738800576 DEBUG: ParentPath = [special://videoplaylists/]
19:03:22 T:139746738800576 DEBUG: GetMusicVideosByWhere query = select * from musicvideoview WHERE (strPath LIKE '%/home/jared/MusicVideos/%')
19:03:22 T:139746738800576 DEBUG: GetMusicVideosByWhere time for actual SQL query = 1
19:03:22 T:139746738800576 ERROR: GetDirectory - Error getting special://profile/playlists/video/dd.xsp
19:03:22 T:139746738800576 ERROR: CGUIMediaWindow::GetDirectory(special://profile/playlists/video/dd.xsp) failed
19:03:22 T:139746738800576 DEBUG: CGUIMediaWindow::GetDirectory (special://videoplaylists/)
19:03:22 T:139746738800576 DEBUG: ParentPath = []
19:03:22 T:139746738800576 DEBUG: CMultiPathDirectory::GetDirectory(multipath://special%3a%2f%2fprofile%2fplaylists%2fvideo/special%3a%2f%2fprofile%2fplaylists%2fmixed/)
19:03:22 T:139746738800576 DEBUG: Getting Directory (special://profile/playlists/video)
19:03:22 T:139746738800576 DEBUG: Getting Directory (special://profile/playlists/mixed)
19:03:22 T:139746738800576 DEBUG: CMultiPathDirectory::MergeItems, items = 2
19:03:22 T:139746738800576 DEBUG: Testing path: [000] special://profile/playlists/video/dd.xsp
19:03:22 T:139746738800576 DEBUG: CMultiPathDirectory::MergeItems, items = 2, took 0 ms
19:03:22 T:139746257729280 NOTICE: Thread Background Loader start, auto delete: false
19:03:22 T:139746257729280 WARNING: Create - Unsupported protocol(newsmartplaylist) in newsmartplaylist://
19:03:22 T:139746257729280 WARNING: CreateLoader - Unsupported protocol(newsmartplaylist) in newsmartplaylist://movie.tbn/
19:03:22 T:139746257729280 DEBUG: Thread Background Loader 139746257729280 terminating

Hope this little extra helps somebody understand.
Reply
#2
bump. Still no idea.
Reply
#3
Your log looks like it's from a different smartplaylist (one using contains rather than is).

Your best bet is to try the query from your log in sqlite3 or similar and see whether it hits something.

A simple select strPath from musicvideoview; would suffice to check what is available to hit.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#4
Thanks jmarshall. I will give this a try tonight and report back with details and hopefully a solution.
Reply
#5
Well, no luck as of now. I did several queries to test the database to see if:

1. The path was in the database (returned good)
2. The files where in the database (returned good)
3. That the query from the log was indeed correct (returned BAD!)

It's not that the query from the log is wrong, there is just nothing stored in the strPath variable of musicvideoview table nor the musicvideo table. Well I think that the music video database is not done correctly, after more investigation ( select * from musicvideoview) showed absolutely nothing, then I was became more concerned about what is writing the db and not the queries that are looking for data. It just appears that there is absolutely nothing stored in the music video database. So digging a little deeper, I thought I would see how the db had been constructed. Seems like it's a logical that the view is created by a CREATE VIEW. I went back then and tried to query the files by

Code:
select strFileName from files;

This showed that the music videos are most definetly there, just that the views are not working correctly. I will continue to look into this, however I believe this is bug at this point. I'm not the greatest at databases, but I will do my best to determine a method around this since the view is not working correctly. Even the following yields nothing.

Code:
select * from musicvideoview;

Continuing efforts!
Reply
#6
See the view creation in VideoDatabase.cpp:

https://github.com/xbmc/xbmc/tree/master...tabase.cpp

If the view isn't there then it definitely won't work.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#7
Okay, so having a couple hours of sleep on this and what not, I thought I'd play with the database to see what is really happening. It turns out if a scraper is not used then the musicvideo nor musicvideoview is never updated. Well since the Yahoo! Music Video Scraper isn't working due to server down or something (connection error, didn't check into this), I thought that I would inject a few records into the tables to see if that would fix the problem. This is indeed did work and the playlist became available, but only if there is something in the musicvideoview view and this probably requires the scraper to work. However when the scraper works, it gets it wrong most of the time. So my best choice as of now is to turn the scraper off (anybody know how to just remove the scraper?). Basically it seems that the tables (musicvideo, musicvideoview) do not get updated without a scraper or directly inserted into the db. Without a valid scraper, I am thinking about creating a quick front end in Python (because it's quick) for updating the tables needed for me.

CONCLUSION:
Music Video Playlist work, however, only if the scraper can effectively work. Therefore, for now I will just directly insert the music information into the db. By following naming conventions this shouldn't be too difficult. I will however, try to help XBMC add a front end to modify the music video if you don't want to use a scraper. So not a bug, just a lack of functionality if the scraper is down. Thanks jmarshall for the point in the correct direction.

Also, the CPP file looks fine and it seems to create the required tables and fields. I will look more into it tonight. Hopefully I can see if the field setting functions are in there as well.
Reply

Logout Mark Read Team Forum Stats Members Help
Music Video Playlist Does NOT work.0