AMC Updater v0.7.3 Now Available! (8 Viewers)

ryall

Portal Member
November 21, 2006
20
0
Home Country
New Zealand New Zealand
Should be easy enough to have it parse any .m3u files it finds. I'll have a look when I have time. The Grabber.dll, Core.dll, Utils.dll and MediaInfo.dll are needed to compile and run the app. They should be available in the full binary package download. Let me know if you modify the code and I'll incorporate your changes into my copy so everyone can benefit!
Orion.

Oops, I just noticed those files in the bin package :oops:

Thanks again Orion, I haven't done a lot of .NET coding but I'll take a look and see if I can do anything to help out.
 

arryo

Portal Pro
July 12, 2008
162
4
what should i Put in the field path to internetlookup parser. I updated the new version and it returned internet look up failed
The Internet scripts are in the full release packages, not in the test release I posted in this thread. Download the full version from SourceForge and set the Internet lookup Parser to one of the files in the Scripts folder of AMCUpdater. Each script represents a different Internet lookup site.

Cheers,

Orion.[/QUOTE]


work like charm, thanks
 

jamieo

Portal Member
June 30, 2007
20
0
Home Country
England England
I'll be making it optional, so the group separator can be used in Original Title or Translated Title (or both) but for proof of concept I've kept it simple.
Nice! It should be a great time saver.

Curious - never seen that. Should be just a scripts folder and probably a log folder in there. What folders do you get?
Burner
Database
InputDeviceMappings\defaults
Language
Plugins
Skin
Thumbs
Weather

All the above are empty and have reappeared a few times (but not on first startup?) - both in it's current location (%MP%\database\amc) and previously when it was just sat on the desktop.

Also, could the log window be brought to the top along with the main window when it receives focus and vice versa? This will save me having to double click the 'Hide Log' button each time I alt-tab. The same for the lookup dialog too - emulating a modal dialogue when receiving focus makes sense, although it seems the only reason it's non-modal is because it has no cancel button and the one on the parent window must be used?

Jamie
 

OrionHall

Portal Pro
September 13, 2007
198
31
London
Home Country
United Kingdom United Kingdom
Curious - never seen that. Should be just a scripts folder and probably a log folder in there. What folders do you get?
Burner
Database
InputDeviceMappings\defaults
Language
Plugins
Skin
Thumbs
Weather

All the above are empty and have reappeared a few times (but not on first startup?) - both in it's current location (%MP%\database\amc) and previously when it was just sat on the desktop.
How weird?! Never seen that before! I honestly have no idea what could cause that. I've run the app in the debugger, from a folder any old where, and from it's 'official' location in Program Files. Apart from running over the network (which is blocked by .net security) it should work no matter where you run it.

Well those are definitely MP folders, and AMCUpdater does use a MP .dll for the Internet grabber. I guess that .dll is the only suspect - I'll ask the author of the grabber for advice.

Also, could the log window be brought to the top along with the main window when it receives focus and vice versa? This will save me having to double click the 'Hide Log' button each time I alt-tab. The same for the lookup dialog too - emulating a modal dialogue when receiving focus makes sense, although it seems the only reason it's non-modal is because it has no cancel button and the one on the parent window must be used?
I've always fought with that log window! I think I've finally cracked it though. I've used form.AddOwnedForm now and that seems to hold the two together and works for alt-tab and clicking the Taskbar icon.

The lookup dialog however can't be modal. In a way it already is, it's shown with '.showdialog' which makes it modal. Unfortunately it's launched from a background thread, so can't be fully linked to the main form which is on a separate thread. If you know any way to do that then let me know, but as far as I can see it can't be done.

Cheers,

Orion.
 

jamieo

Portal Member
June 30, 2007
20
0
Home Country
England England
Well those are definitely MP folders, and AMCUpdater does use a MP .dll for the Internet grabber. I guess that .dll is the only suspect - I'll ask the author of the grabber for advice.
I guess it's the dll then - weird it only happens to me though? Let me know if you want any testing done. It's no big deal - just makes it hard to find the folders I do want! :)

Unfortunately it's launched from a background thread, so can't be fully linked to the main form which is on a separate thread. If you know any way to do that then let me know, but as far as I can see it can't be done.
Ah yes, .net is a bit funny about cross threaded stuff to the gui - although you can use Control.Invoke and friends but that should be overkill for this. You have to set the Owner property of a modal form manually (else I imagine it assumes the desktop?) so if you haven't already perhaps that's why it doesn't act the way it should? If that does it then it may also remove the extra taskbar button for you else you can set ShowInTaskbar to false.

Otherwise you can manually emulate the modal behaviour by setting the z-orders (without setting focus) within the activated events of both windows so clicking either one also sets the activation of the other. ie, Within the Activated event of the main form set the z-order of lookup dialog to the top, while the activated event of the lookup dialog sets the main dialog's z-order immediately behind itself.

I've also done this for log windows like your own (thanks for the fix btw), in which case for both windows you would set the z-order of the other window to be immediately behind itself (just in case of overlap - otherwise just setting it to the top will do).

With the WinAPI I'd use SetWindowPos, I did look for a .net equivalent but don't have msdn installed and trying to search it online is hopeless. I found SetChildIndex which looks ideal except it may be for controls only - if all else fails then the 'hacky' way would be to set Window.Topmost properties within the Activated event of both forms in the correct order (lookup dialog always last so it's on top) but I'm unsure if this just activates (good) or makes it always on top (bad)...

Jamie
 

arryo

Portal Pro
July 12, 2008
162
4
hi,

I'm using the main computer to update all of the movies and using my HTPC to watch movies, and I realized one problem that for those movies updated via AMC Autoupdater, the image cover won't show in a HTPC that accesses database file from the main computer. This only happens with the version 0.7.3.

I guess the reason because the pictures field has created the image covers with the same names as those of the movies (the images are also better quality compare to images downloaded using AMC itself). Therefore, for those movies I use AMC to update, the image covers are still shown when I access database file from a different computer. But for those movies that use AMC autoupdate, only the computer does the scan show complete images, the other computers wont show anything.
 

OrionHall

Portal Pro
September 13, 2007
198
31
London
Home Country
United Kingdom United Kingdom
hi,

I'm using the main computer to update all of the movies and using my HTPC to watch movies, and I realized one problem that for those movies updated via AMC Autoupdater, the image cover won't show in a HTPC that accesses database file from the main computer. This only happens with the version 0.7.3.

I guess the reason because the pictures field has created the image covers with the same names as those of the movies (the images are also better quality compare to images downloaded using AMC itself). Therefore, for those movies I use AMC to update, the image covers are still shown when I access database file from a different computer. But for those movies that use AMC autoupdate, only the computer does the scan show complete images, the other computers wont show anything.

Hi arryo,

I suspect this is a network path issue. The application uses the location of your Ant XML file as the basis for the path to the images which is stored in the XML. Open up your XML file in notepad and see what location is listed for the images. I reckon it will be a local path like c:\blah\Ant Database\moviename.jpg so your Media PC cannot access the file. If you import your files again but using a network path to your XML file (i.e. \\server\share\Ant Database.xml) then it should work.

The next version will have support for relative paths to the images so this problem will go away soon!

Hope that helps,

Orion.
 

arryo

Portal Pro
July 12, 2008
162
4
hi,

I'm using the main computer to update all of the movies and using my HTPC to watch movies, and I realized one problem that for those movies updated via AMC Autoupdater, the image cover won't show in a HTPC that accesses database file from the main computer. This only happens with the version 0.7.3.

I guess the reason because the pictures field has created the image covers with the same names as those of the movies (the images are also better quality compare to images downloaded using AMC itself). Therefore, for those movies I use AMC to update, the image covers are still shown when I access database file from a different computer. But for those movies that use AMC autoupdate, only the computer does the scan show complete images, the other computers wont show anything.

Hi arryo,

I suspect this is a network path issue. The application uses the location of your Ant XML file as the basis for the path to the images which is stored in the XML. Open up your XML file in notepad and see what location is listed for the images. I reckon it will be a local path like c:\blah\Ant Database\moviename.jpg so your Media PC cannot access the file. If you import your files again but using a network path to your XML file (i.e. \\server\share\Ant Database.xml) then it should work.

The next version will have support for relative paths to the images so this problem will go away soon!

Hope that helps,

Orion.


Thanks Orion for your reply. And you are right, the images location reckons the local path instead of network path. I changed to network path to my XML file and everything works perfect now.

And I have another small problems with the autoupdater

- Year field won't get updated
- under categories, the "," to seperate each category is replaced by little square shapes: eg: in between Action Adventure Drama War there are little squares. (I don't know how to insert the squares in here). I think this problem happens to any field that has "comma" in there too

Other than that, everything works great. Love the program, it saves me a great deal of time
 

OrionHall

Portal Pro
September 13, 2007
198
31
London
Home Country
United Kingdom United Kingdom
Ah yes, .net is a bit funny about cross threaded stuff to the gui - although you can use Control.Invoke and friends but that should be overkill for this. You have to set the Owner property of a modal form manually (else I imagine it assumes the desktop?) so if you haven't already perhaps that's why it doesn't act the way it should? If that does it then it may also remove the extra taskbar button for you else you can set ShowInTaskbar to false.

Otherwise you can manually emulate the modal behaviour by setting the z-orders (without setting focus) within the activated events of both windows so clicking either one also sets the activation of the other. ie, Within the Activated event of the main form set the z-order of lookup dialog to the top, while the activated event of the lookup dialog sets the main dialog's z-order immediately behind itself.

I've also done this for log windows like your own (thanks for the fix btw), in which case for both windows you would set the z-order of the other window to be immediately behind itself (just in case of overlap - otherwise just setting it to the top will do).

With the WinAPI I'd use SetWindowPos, I did look for a .net equivalent but don't have msdn installed and trying to search it online is hopeless. I found SetChildIndex which looks ideal except it may be for controls only - if all else fails then the 'hacky' way would be to set Window.Topmost properties within the Activated event of both forms in the correct order (lookup dialog always last so it's on top) but I'm unsure if this just activates (good) or makes it always on top (bad)...

Jamie

Hi Jamie,

Thanks for the tips :)

Unfortunately - still no joy. I've done a fair bit of reading and testing, but there doesn't appear to be a way to do this without a huge amount of changes. I think this is partly because I'm using the .Net cheap-and-cheerful multithreading in the form of the BackgroundWorker class. It's crude but effective, and a lot easier than manually creating and manipulating threads. Since the main app runs in the main thread, and the updating process is on a separate thread, the two forms can't see or talk to each other at all. The Microsoft line is that the only way to communicate back to the main thread is through the backgroundworker_OnProgressChanged event. And that's one-way - I can't detect a click on the main form and force the Internet lookup form to the front.

I suppose the only cheating way to do it would be to have the Internet lookup form constantly bring itself to the top of the z-order on a timer; but that really is a bit messy and could be annoying when doing other stuff at the same time.

Cheers,

Orion.

p.s. You're welcome for the log window fix - I'm just chuffed to have finally got that working! Every other 'fix' I tried ended up making the two forms flicker madly, particularly when moved!

Thanks Orion for your reply. And you are right, the images location reckons the local path instead of network path. I changed to network path to my XML file and everything works perfect now.

And I have another small problems with the autoupdater

- Year field won't get updated
- under categories, the "," to seperate each category is replaced by little square shapes: eg: in between Action Adventure Drama War there are little squares. (I don't know how to insert the squares in here). I think this problem happens to any field that has "comma" in there too

Other than that, everything works great. Love the program, it saves me a great deal of time

Hi arryo,

Glad it's working for you now!

The year field is pulled from the Internet lookup - can you confirm which Internet lookup parser file you're using? Actually, please just attach it to your reply as there have been various version of the lookup scripts. The Year field works for me with the latest IMDB script but I haven't tested much with the others.

I've also found some entries with those squares - they represent non-printable characters or characters not included in the current font. As before, it'll help to know what script you're using - it should be fairly easy to tweak things to tidy up that kind of thing.

Cheerio,

Orion.
 

arryo

Portal Pro
July 12, 2008
162
4
Hi arryo,

Glad it's working for you now!

The year field is pulled from the Internet lookup - can you confirm which Internet lookup parser file you're using? Actually, please just attach it to your reply as there have been various version of the lookup scripts. The Year field works for me with the latest IMDB script but I haven't tested much with the others.

I've also found some entries with those squares - they represent non-printable characters or characters not included in the current font. As before, it'll help to know what script you're using - it should be fairly easy to tweak things to tidy up that kind of thing.

Cheerio,

Orion.


Hi again, sorry that I didn;t mention it in previous post. the parser i'm using is: MyFilmsIMDB.xml
 

Users who are viewing this thread

Top Bottom