Kodi Community Forum

Full Version: Ember Media Manager NFO/Poster/FanArt Manager for Movies (Open Source VB.NET)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Tension113 Wrote:Movie.nfo is checked.

If I rescrape a movie, it will update the movie.nfo

If I refresh the media info, it creates an additional <movie>.nfo

I found the problem. Will have a new version up in about 30 mins or so.
nul7 Wrote:I found the problem. Will have a new version up in about 30 mins or so.

Ok, glad it wasn't me.. Laugh Thanks for looking into it..
r59 is in the first post.

EDIT: If you have posted an issue on the google code page, please verify that the problem has been fixed/feature is working properly so I can mark the issues as "verified" and close them out.

EDIT2: One thing I should mention... I noticed I was still naming the settings after the old name (ummSettings) and updated it for the new name (emmSettings). Therefore your current settings won't load into the new version. You can just start from scratch, but the fix is easy. Just open the settings.xml file in notepad, and change the second and last lines:

Change <ummSettings> to <emmSettings> from the second line
and change </ummSettings> to </emmSettings> from the very last line
Tension113 Wrote:Ok, glad it wasn't me.. Laugh Thanks for looking into it..

lol Sorry about that. I think someone else may have posted about it before but I forgot to look into it (which is the reason I ask people to use the issue tracker on the google code page lol)
I posted on your google code page, but I might as well mention here... the Update XBMC button doesn't do anything. I get no errors in ember or XBMC logs, so I'm not sure how helpful I can be here... But I do know I have XBMC configure correctly because I remotely update the library all the time
sumofatguy Wrote:I posted on your google code page, but I might as well mention here... the Update XBMC button doesn't do anything. I get no errors in ember or XBMC logs, so I'm not sure how helpful I can be here... But I do know I have XBMC configure correctly because I remotely update the library all the time

Yeah, I need to figure out what's wrong with my XBMC web server (I've never used it before so never knew it was broken) so I can actually test it to see what's happening. The code that's in there now was really just a roll of the dice guess. lol

EDIT: This is the problem I'm experiencing. I'm guessing it probably won't be fixed any time soon. Guess I'll just have to keep hoping for double sixes instead of snake-eyes for each version trying to get this to work. lol
Livin Wrote:problems in .18...

looks like if using VIDEO_TS folder it does not work?
- when I place the files in the root of the folder, like "I Am Legend" it works fine.

I must manually select each movie and scrape or the media flags do not show... autopilot does not grab them?


btw... I love this clean layout... way better than MiP!

The issue is the GetMoviePath function is checking extensions in the parent directory only, i.e. it's not looking for VOB files in the VIDEO_TS sub directory.

Code:
Public Shared Function GetMoviePath(ByVal sPath As String) As String

        '//
        ' Get the proper path to movie
        '\\

        Dim di As New DirectoryInfo(sPath)
        Dim lFi As New List(Of FileInfo)()

        lFi.AddRange(di.GetFiles())

should prob look more like

Code:
Public Shared Function GetMoviePath(ByVal sPath As String) As String

        '//
        ' Get the proper path to movie
        '\\

        Dim di As New DirectoryInfo(sPath)
        Dim lFi As New List(Of FileInfo)()

        If Directory.Exists(String.Format("{0}\\{1}", sPath, "VIDEO_TS")) Then
            di = New DirectoryInfo(String.Format("{0}\\{1}", sPath, "VIDEO_TS"))
        End If

        lFi.AddRange(di.GetFiles())

You should also add .dvr-ms and .m2ts to the list of extensions it checks in the code. Last thing I've noticed is that the code is case sensitive, so movie.NFO or .TBN don't get found as it's looking for .nfo and .tbn. GetFolderContents and GetNfoPath methods should be modified to make sure all combinations are found.

This is an excellent product, so easy and cool in comparison to the others out there. Once I can get my DVDs in without using my own version of the source it'll be even better ;-)
clackerdacker Wrote:You should also add .dvr-ms and .m2ts to the list of extensions it checks in the code.

I 2nd the addition of .m2ts support.

Awesome program by the way.
clackerdacker Wrote:The issue is the GetMoviePath function is checking extensions in the parent directory only, i.e. it's not looking for VOB files in the VIDEO_TS sub directory.

Code:
Public Shared Function GetMoviePath(ByVal sPath As String) As String

        '//
        ' Get the proper path to movie
        '\\

        Dim di As New DirectoryInfo(sPath)
        Dim lFi As New List(Of FileInfo)()

        lFi.AddRange(di.GetFiles())

should prob look more like

Code:
Public Shared Function GetMoviePath(ByVal sPath As String) As String

        '//
        ' Get the proper path to movie
        '\\

        Dim di As New DirectoryInfo(sPath)
        Dim lFi As New List(Of FileInfo)()

        If Directory.Exists(String.Format("{0}\\{1}", sPath, "VIDEO_TS")) Then
            di = New DirectoryInfo(String.Format("{0}\\{1}", sPath, "VIDEO_TS"))
        End If

        lFi.AddRange(di.GetFiles())

You should also add .dvr-ms and .m2ts to the list of extensions it checks in the code. Last thing I've noticed is that the code is case sensitive, so movie.NFO or .TBN don't get found as it's looking for .nfo and .tbn. GetFolderContents and GetNfoPath methods should be modified to make sure all combinations are found.

This is an excellent product, so easy and cool in comparison to the others out there. Once I can get my DVDs in without using my own version of the source it'll be even better ;-)

*slaps forehead* Didn't even consider case sensitivity on file extensions. Easy fix... will have that in the next version. Support for VIDEO_TS isn't quite that simple, but I'll figure something out. Thanks for the code sample btw.

EDIT: But now that I look over the code, there is only one spot that is not case insensitive and that is the Folder portion of GetFileContents where it's comparing paths. The rest use File.Exists, which is not case sensitive (on windows anyway). Are you the one using EMM with Mono/Linux (don't know who's who between google code and here lol)?

inmcm Wrote:I 2nd the addition of .m2ts support.

Awesome program by the way.

No problem... will be in next version.
This is starting to become a really fine app! It's good your focussing on the movie part now, and not try to do everything at once (TV shows, music...). There is no need to hurry and implement stuff to fast. I think this will be the nr1 complementing media manager once it's feature complete. Your vision regarding the UI is excelent!

Could you consider allowing automatic custom fanart image resizing? For the XBOX every KB that can be saved be reducing the fanart image size an quality is very welcome. Now I manually resize all fanart to 960x540 and reduce the jpg quality to 75%. If this could be automated somehow it would save me a lot of time and help other XBOX users to get the most out of their XBOX Smile
Bram77 Wrote:This is starting to become a really fine app! It's good your focussing on the movie part now, and not try to do everything at once (TV shows, music...). There is no need to hurry and implement stuff to fast. I think this will be the nr1 complementing media manager once it's feature complete. Your vision regarding the UI is excelent!

Could you consider allowing automatic custom fanart image resizing? For the XBOX every KB that can be saved be reducing the fanart image size an quality is very welcome. Now I manually resize all fanart to 960x540 and reduce the jpg quality to 75%. If this could be automated somehow it would save me a lot of time and help other XBOX users to get the most out of their XBOX Smile

Thanks! Resizing fanart is already an accepted feature request: http://code.google.com/p/embermediamanag...%20Summary Wink I'll probably get to that tomorrow.


On a side note, since you're the creator of XBMControl... any tips on getting my "Update XBMC" button working. My webserver is broken because I use x64 Linux so I'm kind of shooting blind here. I had it coded as a simple webrequest (just create.... no response) and that didn't work.... now I've changed it to a simple httpwebrequest (same thing, just create with no response). Not sure if that's enough or am I missing something here?
I have a small request/modification to the update XBMC button. Once you figure out the code, do you think it can be changed to allow for updating multiple XBMC machines? I'm sure there are many of us who have more than 1 XBMC system running in the house and it would be perfect to be able to update all the libraries at the same time.

Perhaps a drop down where you can choose which library to update (and possibly a way to customize the name, living room, bedroom, etc)

Thanks!
nul7 Wrote:On a side note, since you're the creator of XBMControl... any tips on getting my "Update XBMC" button working. My webserver is broken because I use x64 Linux so I'm kind of shooting blind here. I had it coded as a simple webrequest (just create.... no response) and that didn't work.... now I've changed it to a simple httpwebrequest (same thing, just create with no response). Not sure if that's enough or am I missing something here?

Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=updatelibrary(video)
Should do the trick! But you'll need to allow the user to enter login credentials for the webserver. The way to do that differs from language to language. I don't know how it's done in VB.

If the webserver is set to the default response format* and the webserver is enabled** the response should be
Code:
<html>
<li>OK</html>

* You can reset the webservers response format by using the following command...
Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=SetResponseFormat

** You can check if the webserver is enabled by using the following command...
Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=WebServerStatus
The result should be...
Code:
<html>
<li>On</html>
indy5 Wrote:I have a small request/modification to the update XBMC button. Once you figure out the code, do you think it can be changed to allow for updating multiple XBMC machines? I'm sure there are many of us who have more than 1 XBMC system running in the house and it would be perfect to be able to update all the libraries at the same time.

Perhaps a drop down where you can choose which library to update (and possibly a way to customize the name, living room, bedroom, etc)

Thanks!

Once I get the actual command to send, then I'll start filling in the holes. Please add a request to the google code page so I don't forget about it. Wink

Bram77 Wrote:
Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=ExecBuiltIn&parameter=updatelibrary(video)
Should do the trick! But you'll need to allow the user to enter login credentials for the webserver. The way to do that differs from language to language. I don't know how it's done in VB.

If the webserver is set to the default response format* and the webserver is enabled** the response should be
Code:
<html>
<li>OK</html>

* You can reset the webservers response format by using the following command...
Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=SetResponseFormat

** You can check if the webserver is enabled by using the following command...
Code:
http://<xbmc-ip>:<xbmc_port>/xbmcCmds/xbmcHttp?command=WebServerStatus
The result should be...
Code:
<html>
<li>On</html>

Thanks. At this point, I'm not concerned with the response but that will come in handy later. Hopefully HTTPWebRequest works...
clackerdacker Wrote:The issue is the GetMoviePath function is checking extensions in the parent directory only, i.e. it's not looking for VOB files in the VIDEO_TS sub directory.[snip]

Ok... maybe it is that easy. Question: where do the nfo/fanart/poster go? In the VIDEO_TS folder or in the main movie folder? If they go in the VIDEO_TS folder that IS all it will take, it seems. If they go in the main movie folder then there's a little more work to do. lol

EDIT:

Code:
Public Shared Function GetMoviePath(ByVal sPath As String) As String

        '//
        ' Get the proper path to movie
        '\\

        Dim di As DirectoryInfo
        Dim lFi As New List(Of FileInfo)

        If Directory.Exists(String.Format("{0}\{1}", sPath, "VIDEO_TS")) Then
            di = New DirectoryInfo(String.Format("{0}\{1}", sPath, "VIDEO_TS"))
        Else
            di = New DirectoryInfo(sPath)
        End If

        lFi.AddRange(di.GetFiles())

        lFi = lFi.FindAll(Function(f As FileInfo) (f.Extension.ToLower() = ".avi" _
                              OrElse f.Extension.ToLower() = ".divx" _
                              OrElse f.Extension.ToLower() = ".mkv" _
                              OrElse f.Extension.ToLower() = ".iso" _
                              OrElse f.Extension.ToLower() = ".mpg" _
                              OrElse f.Extension.ToLower() = ".mp4" _
                              OrElse f.Extension.ToLower() = ".wmv" _
                              OrElse f.Extension.ToLower() = ".wma" _
                              OrElse f.Extension.ToLower() = ".mov" _
                              OrElse f.Extension.ToLower() = ".mts" _
                              OrElse f.Extension.ToLower() = ".m2t" _
                              OrElse f.Extension.ToLower() = ".img" _
                              OrElse f.Extension.ToLower() = ".dat" _
                              OrElse f.Extension.ToLower() = ".bin" _
                              OrElse f.Extension.ToLower() = ".cue" _
                              OrElse f.Extension.ToLower() = ".vob" _
                              OrElse f.Extension.ToLower() = ".dvb" _
                              OrElse f.Extension.ToLower() = ".evo" _
                              OrElse f.Extension.ToLower() = ".asf" _
                              OrElse f.Extension.ToLower() = ".asx" _
                              OrElse f.Extension.ToLower() = ".avs" _
                              OrElse f.Extension.ToLower() = ".nsv" _
                              OrElse f.Extension.ToLower() = ".ram" _
                              OrElse f.Extension.ToLower() = ".ogg" _
                              OrElse f.Extension.ToLower() = ".ogm" _
                              OrElse f.Extension.ToLower() = ".ogv" _
                              OrElse f.Extension.ToLower() = ".flv" _
                              OrElse f.Extension.ToLower() = ".swf" _
                              OrElse f.Extension.ToLower() = ".nut" _
                              OrElse f.Extension.ToLower() = ".viv" _
                              OrElse f.Extension.ToLower() = ".rar" _
                              OrElse f.Extension.ToLower() = ".m2ts" _
                              OrElse f.Extension.ToLower() = ".dvr-ms") _
                              AndAlso Not f.Name.Contains("-trailer"))

        If lFi.Count > 0 Then
            Return lFi(0).FullName.ToString
        Else
            Return String.Empty
        End If
    End Function