vidalvanbergen / ViMediaManager

Media Manager for Mac OS X
http://vidalvanbergen.github.com/ViMediaManager/
93 stars 7 forks source link

Apps "hangs" when an item is not downloadable #3

Closed daften closed 12 years ago

daften commented 12 years ago

WHen I try to update metadata for some movies, the app hangs when downloading the main fanart. Because there's no cancel button and apparently no time-out, i have to force quit.

vidalvanbergen commented 12 years ago

I'm already working on a 'Cancel' button for the dialog, since this issue can happen whenever this dialog shows up.

daften commented 12 years ago

Maybe add a timeout on downloads as well, and mark as undownloadable somewhere in the interface (e.g. poster: not found) ... ?

vidalvanbergen commented 12 years ago

I've not been great about adding timeout events yet, but in general, it should try to download something as long as there's a URL available, and give a message if there aren't.

daften commented 12 years ago

Yeah, but it's for the movie 10 things i hate about you, it was hanging on one of the items. A cancel button is already good, but this also means it won't download the other (next) items and bulk metadata fetching will probably not work either. Maybe a skip button as well, that moves on to the next item to download? (just trying to think for the best way to alleviate my situation ;) )

vidalvanbergen commented 12 years ago

Skip button is an interesting idea, though even just the cancel button is giving me a lot of working around, and making me think that there should be easier ways than the way I'm clutching around, which there probably are. ;P

Currently it at least closes the dialog, and it should stop going further after finishing the event it was getting hung up on. The latter part of that is probably not the right way to go about it though.

daften commented 12 years ago

:D Yeah, if the event hangs, it should be terminated some way. I wish I could give pointers, but I've never programmed for mac before (I'm guessing your using objective-c?). I'd guess the downloading and so should be in a separate thread, similar to how sickbeard handles manual post-processing and searching. Then the processing could be completely in the background with e.g. a notification mechanism in the status bar. And when the user clicks that notification mechanism, a popup like there is now is shown (which can be minimized again). But this would be a shitload of work I'm guessing :)

vidalvanbergen commented 12 years ago

I'm actually using REALbasic, which isn't the most high level or respected language, but it works for me, and creates native applications not only for Mac, but also Windows and Linux. (Though I haven't made ViMM very compatible with either of those)

I've seen a short example of how to put a cancel dialog with a thread in, but i'm not yet very familiar with those things.