| | Re: MPD file loading search order
|
|
(...) I mentioned in my other (long) post that I don't think that MPD files should be required to have a .mpd extension. However, I'd like to add more here in answer to your specific question. I could be wrong, but I'm almost positive that it is (...) (18 years ago, 25-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) You can do it in one pass (if you don't count the loading of the file to a stringlist). Wile walking through the file you build you're objectlist with subparts. Afterwards you go recursively through the list of subparts. This way all mpd (...) (18 years ago, 25-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) I actually consider that to be two-pass, and that's essentially what LDView does. The only extra thing it does is that it checks for 0 PART meta-commands in the first pass, and puts the file data for the sub-files into their own separate (...) (18 years ago, 26-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) What about the following algorithm (assuming everything is cached): - whenever a file reference is read, search for the file in the cache. if not found, add it as an empty file and flag it as 'incomplete' - whenever a 'file' is seen, search (...) (18 years ago, 26-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) That is a two pass algorithm. It's optimised by only searching files that have already appeared but the search in stage II is a second pass. Tim (18 years ago, 26-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) Actually I can't get my head around 'searching for a file in the cache' as equivalent to 'do a second pass of the source file'. Every part is searched for in the cache. Each source line is only read and parsed once. What am I not (...) (18 years ago, 26-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) I suspect there's two definitions of "pass" at work here. I would consider a two pass algorithm to be anything requiring two loops (which we must have either way as their is no reference order specified in MPDs). Another way of considering it (...) (18 years ago, 27-Jul-06, to lugnet.cad.dev)
|
|
| | Re: MPD file loading search order
|
|
(...) Probably. As I was reading the thread it was *loading* the MPD file that was considered two-pass, and my algorithm is definitely only one-pass for that (and no extra fixups after reading it all). OTOH, if the file should be rendered on screen (...) (18 years ago, 27-Jul-06, to lugnet.cad.dev)
|