MPDCenter


MPDCenter
#1
Today I have uploaded the first release of MPDCenter to my webside.
Please visit, try the app and give some feedback to me.

Thanks

MPDCenter webside
Reply
Re: MPDCenter
#2
Great to see my name on your webpage ;-)
If you could see my smiling face at the moment...

Martin
Reply
Re: MPDCenter
#3
I just got a bug report from Willy Tschager, that the renamed and fully OMR conform unofficial files marked as not correct.
This bug is already fixed, I only have to upload that version. Will do that maybe tomorrow.

I'll keep you informed.
Reply
Re: MPDCenter
#4
The bug-fixed version is now ready to download from the web!

Have fun.
Reply
Re: MPDCenter
#5
Updated version is now online (2.0.0.3)

Update 22.10.2012 changes
'list of used parts' - first try (not complete finished yet)
'Delete redundant files' now works but without delete for a good reason.
More detailed information after LDraw OMR Check
Many small changes in the background.

MPDCenter webside
Reply
Re: MPDCenter
#6
Updated version is now online (2.0.0.4)

Update 02.11.2012 changes
'list of used parts' - now disabled because it does not work like suggested.
Added: menu entry 'search part' now working.
Added: menu entry 'Check for ~Moved to files' added with code behind.
Added: picture of the whole model (first dat-file in the mpd file) is shown. (ldvlib.dll needed)
Changed: at startup mpdcenterini.xml is searched in "current_user/documents" and if not found
it is searched in "application_path" and if not found the user is asked some questions.
The file will always be stored and written to in the "current_user/documents" folder.

MPDCenter webside
Reply
Re: MPDCenter
#7
Updated version is now online (still 2.0.0.4)

Update 03.11.2012 changes
Due to wrong building options there is an error just at startup if you are on 64bit system.
Now this issue is fixed.

MPDCenter webside
Reply
Re: MPDCenter
#8
Updated version is now online (2.0.0.5)

Update 10.11.2012 changes
Added: menu entry 'Change Colour' - allows to change a colour in the whole file
Added: menu entry 'Change Part' - allows to change a reference in the whole file
Added: menu entry 'Show Comments' - Shows the comment lines in a file
Added: Quickcheck if mpd/xmpd entry is selected.
Added: picture of each submodel is shown after choosen in the tree (ldvlib.dll is needed)
Added: double click on the tree entry opens a big viewer window. If window is open each submodel is displayed.

MPDCenter webside
Reply
Re: MPDCenter
#9
Updated version is now online (2.0.0.6)

Update 17.11.2012 changes
Added: Quickcheck for unofficial parts and for '~Moved to' parts added. (For larger models this is'nt anymore quick.)
Changed: The '0 FILE' entry needs to be the same as the '0 Name:' entry.

Due to the requirement (http://forums.ldraw.org/showthread.php?t...61#pid6661) that the '0 FILE' entry in the MPD file has to be the same value than the '0 Name:' entry in the file this is a quite major rewrite. I have done a lot of testing but it might contain bugs. Please report them so I can quickly solve that.

Also you should check your already with MPDCenter created MPD files for imported subfiles or imported 48 primitives as they will not carry the correct '0 FILE' entry! If formerly saved with an previous version of MPDCenter you only need to open and save that file again to have that corrected.
I have not yet check the behaviour if you open again with MLCad and saved it. As MLCad caused this confusion (in conjunction with our specifications) I would currently not rely on MLCad. LDView works great.

Wrong:
Code:
0 FILE 42444s01.dat                       <- problem line
0 ~Minifig Hair Peaked Half
0 Name: s\42444s01.dat
0 Author: Philippe Hurbain [Philo]
0 !LDRAW_ORG Unofficial_Subpart

Correct:
Code:
0 FILE s\42444s01.dat
0 ~Minifig Hair Peaked Half
0 Name: s\42444s01.dat
0 Author: Philippe Hurbain [Philo]
0 !LDRAW_ORG Unofficial_Subpart


MPDCenter webside
Reply
Re: MPDCenter
#10
Updated version is now online (2.0.0.7)

Many improvements.

MPDCenter webside

Ideas for the future:
Allow import of mpd content files (by hand or/and automatically if reference is not found in the mpd file).
Reply
Re: MPDCenter
#11
As you know I have about 1000 mpd files online.
With the current build of MPDCenter (not yet online) I check all files. During this process I am sure to detect more bugs that just by testing test files.
Also I should be aware of bad handling and maybe have new ideas for better handling at all.

Edit:
I just discovered that MPDCenter will not work if a line with '0 BFC' is found.
This error will be fixed with the next version.

Edit:
Just discovered at checking those files (http://forums.ldraw.org/showthread.php?t...49#pid7549) that some checks for OMR conformity depends on file extension. That should not be done.
This bug will be fixed with the next version.

Edit:
Found another bug (thanks to Willy) if importing files. At one place I did not handle file names case independend and that results in not renaming the files on import.
This bug will be fixed with the next version.

Edit:
Next Bug. If you have an additional empty space in front of the reference this will be taken as part of the reference name.
This bug will be fixed with the next version.

Edit:
Check and remove ~Moved to parts don't work correct. The transformation matrix is not used currently!
This bug will be fixed with the next version.
Reply
Re: MPDCenter - Question for handling
#12
Given the following situation:
A mpd content file named "multi.mpd" is loaded in MPDCenter.
In that mpd file there is a file named "single.ldr".
Which options should be offered if I try to import another plain file "single.ldr"?
Currently you are unable to add this file as the only mpd where you can add this file to is "multi.mpd" and there exists already a file with this name (it may have different content).

Do you like to have the possibility to create on the fly a new mpd named "unnamed.mpd" besides the already existing mpd content file?

Or do you think that this is not worth to code this as this naming chaos will never be a good idea?

I hope I could explain what I am thinking of. Smile
Reply
Re: MPDCenter
#13
I have a few questions:

1. In User Preferences the program asks for my LDraw username. What is that? Also, it would not let me enter spaces.
2. It asks for a license type. Why are there only two options? Why can't I select Creative Commons 3.0 BY-SA?
3. In Options, the program asks me for 'base' LDraw folder, 'pure' official folder and unofficial folder. Are these all supposed to be different?
Reply
Re: MPDCenter
#14
1: Parts and models author lines have a spot for your LDraw username
2: The LDraw.org contributors agreement uses CCAL 2.0. To change that would require approval from all our authors which would not be something we will be doing again anytime in the near future (or ever if I have any say in the matter)
3: ideally you should have your official and unofficial libraries separate
Reply
Re: MPDCenter
#15
to
1) LDraw User name is the name all part authors have for uploading parts to the PT. If you do not have a name, leave that entry blank. As blanks not allowed in LDraw User names - you can not enter blanks.

2) The ldraw library is distributed by a license that can be choosen by default.
If MPDCenter finds a file %LdrawBasePath%\LDraw_licenses.txt then the text from that file is used to be displayed. I attached a file for that purpose.

Code:
3. In Options, the program asks me for 'base' LDraw folder, 'pure' official folder and unofficial folder. Are these all supposed to be different?
Normally yes. But most people put the base and the unofficial into one folder. To detect which files are official and which are not MPDCenter needs a 'pure' official folder, where really only official files are in. Otherwise the "import unofficial files" will not give correct results.


Attached Files
.txt   LDraw_licenses.txt (Size: 128 bytes / Downloads: 2)
Reply
Re: MPDCenter
#16
Thanks for stepping in here Smile

Your answer for item 2 is better than mine. I only answered from the coder view and not from the layer view Smile
Reply
Re: MPDCenter
#17
Michael Heidemann Wrote:2) The ldraw library is distributed by a license that can be choosen by default.
If MPDCenter finds a file %LdrawBasePath%\LDraw_licenses.txt then the text from that file is used to be displayed. I attached a file for that purpose.
So, this only applies to parts authors? I can use any license for a MOC?
Reply
Re: MPDCenter - What to do?
#18
OK, so I 'opened" datsville.ldr in MPDCenter and I got a small model tree with 'unnamed.xmpd' as the top level. What do I do next?

Also, I don't really want to create an XMPD file. I am happy with the way the model structure is right now.

Thanks.

[edit]

Oh, and what is this OMR thing? Why do I need to conform to it?
Reply
Re: MPDCenter
#19
You as the author of your own models can decide under which license _your_ work will be released.

All the work you did not but someone else might be released under another license.

So be careful with this sentence.
Reply
Re: MPDCenter - What to do?
#20
Ok, sounds good Smile
MPDCenter is working for you.
Please do not care at present about OMR (Official Model Repository).

Code:
OK, so I 'opened" datsville.ldr in MPDCenter and I got a small model tree with 'unnamed.xmpd' as the top level. What do I do next?
Next step is Menu command - Import - Import unofficial files
This will import all files that are referenced from datsville.ldr into your unnamed.xmpd that are not in your "pure" Base Library directory. During the import you might get a window that a file can not be found. This is a hint, that a file is not in the same directory than datsville.ldr and therefore missing for the user you send the zip of your folder to. In that case you should answer with no, but note that filename for fixing datsville project later.
After that has been done you will find all imported files also in the tree.

You can now check for files that are not needed (Menu Command - Edit - Search for not needed files).
This will detect files in the whole (imported) project that are not referenced by any line. This can only affect mpd content files.

There is currently not much more that you can use for the datsville project, as the export will not be done in the same way you have structured datsville. So any change you make within MPDCenter will be lost because you can not work with the result from MPDCenter.
Sorry, that is not the whole truth. You can of course save each file separately from the tree Smile

Code:
Also, I don't really want to create an XMPD file. I am happy with the way the model structure is right now.
As described above this is the way MPDCenter works. It wasn't intended to follow your structure but to ensure all files that are needed to display a model (also with several mpd content files) as a single file (xmpd content file).
Reply
Re: MPDCenter - What to do?
#21
Michael Heidemann Wrote:Sorry, that is not the whole truth. You can of course save each file separately from the tree Smile

How do I do this?

Also, can I get a list of models used vs. not used and just sitting in the directory? Did you say earlier this isn't possible?
Reply
Re: MPDCenter - What to do?
#22
Ohh..
You are right. Just saving the content from one single file is not implemented. Sad
You always exports also the referred files.

But you can try and play with the features that are already implemented.
Export is always done by Menu Command - Extract - [choose some]
Please note that you first have to select the file (only one entry) in the tree. Depending on the filetype (ldr or mpd) you will get different possibilities at the - Extract - command.

Code:
Also, can I get a list of models used vs. not used and just sitting in the directory?
I think that is not possible. MPDCenter does not care about your files until it is used in a model.
Comparing the output of MPDCenter with your original folder also does not work, because some modelfiles are imported into mpd content files where they are needed.

Code:
Did you say earlier this isn't possible?
Yes, see above.
Reply
Re: MPDCenter - What to do?
#23
Code:
Ohh..
You are right. Just saving the content from one single file is not implemented. :(

In the next build there will be a menu command - "Extract" - "Selected like it is" so you are able to save each ldr/dat file and/or each mpd content file just like it appears in the tree. Smile

Edit:
The new build is online.
Reply
Re: MPDCenter - What to do?
#24
Michael Heidemann Wrote:In the next build there will be a menu command - "Extract" - "Selected like it is" so you are able to save each ldr/dat file and/or each mpd content file just like it appears in the tree. Smile

I do not want to export it "just like it appears in the tree". I do not want "unnamed.xmpd" or "unnamed.mpd".

Also I have ~400 models. I am not going to click this option for each and every one of them.

Michael Heidemann Wrote:
Code:
Also, can I get a list of models used vs. not used and just sitting in the directory?
I think that is not possible. MPDCenter does not care about your files until it is used in a model.
Comparing the output of MPDCenter with your original folder also does not work, because some modelfiles are imported into mpd content files where they are needed.

This is the main thing I was hoping MPDCenter would be capable of doing.
Reply
Re: MPDCenter - What to do?
#25
I am sorry that MPDCenter is not the right tool for _your_ task.
Reply
Re: MPDCenter - What to do?
#26
After thinking a while for your wish, I think this can be a useful information in any kind of large project.

So I am going to implement such function to MPDCenter.
Reply
Re: MPDCenter - What to do?
#27
Awesome thanks!

It would be cool to have a tool to manage large projects regardless of whether they are MPD or not.


Mike
Reply
Re: MPDCenter - What to do?
#28
Thanks for your kind words.

But this will take a while as there are a couple of questions to be answered for such functionality.

My idea is like follows:
1) make a list of all files in a specified directory.
2) Start with the first file of that list and look for the existance of a file with the same name in the tree.
2a) If same filename found as mpd content file - ok
2b) If same filename found as ldr/dat entry - if it is in unnamed.mpd - ok
2c) If same filename found as ldr/dat entry - if it is in another mpd (at this point I do not know whether this file is already imported into that mpd or not. So I need to reload and compare both mpd.)

I hope I have not forgotten something.

The worst case is that there might be files inside the mpd content files that have the same name but different content. I can think of the following situation:
files in the directory:
figure1.ldr
model1.mpd (contains a figure1.ldr that is different from the others)
model2.mpd (contains a figure1.ldr that is different from the others)

With my above attempt not all cases are detected right now i think.

cu
Mike
Reply
Re: MPDCenter - What to do?
#29
Could you make it so that you can select multiple items in the model tree and apply actions in bulk? For instance I have multiple models that share the same license, or multiple models with the same author. That would really speed things up.

[edit]

Also, there needs to be a way to differentiate between sub-models that are *contained* within an MPD file and sub-models that are simply *referenced* within an MPD file. For instance, vehicle_017_graysemitruck.mpd lists the following:

vehicle_017_graysemitruck.ldr
vehicle_017_4.ldr
vehicle_017_3.ldr
vehicle_017_2.ldr
vehicle_017_1.ldr
pedestrian_017_manredspacelogosunglassessitting.ldr

However, the last one is external. Maybe use a different colored icon or highlight?

Lastly, a bug. When you click on the information screen to the right, the selection highlighting disappears in the tree view to the left.
Reply
Re: MPDCenter - What to do?
#30
I just detected another bug in MPDCenter BETA.

If you use the menu command "Informations" - "Search Part reference" you will not find references to mpd content files.

Will be updated soon.
Reply
Re: MPDCenter - What to do?
#31
Code:
Could you make it so that you can select multiple items in the model tree and apply actions in bulk?
Not on my todo list so far. I'll have a look at this later.

Code:
Also, there needs to be a way to differentiate between sub-models that are *contained* within an MPD file and sub-models that are simply *referenced* within an MPD file.
There is no way at present to give that information and I doubt it will ever be.

Code:
Lastly, a bug. When you click on the information screen to the right, the selection highlighting disappears in the tree view to the left.
This is not a bug! This is the simple behaviour of applications. You select an item and this item will be highlighted so you know what you are working on. If you just hit the tab key if you are focused on the information (body) textfield the focus will go to the listbox and the formerly selected item is highlighted again, as that was the last user selected item from the list.
Reply
Re: MPDCenter - What to do?
#32
I have implemented that check during the import of unofficial files.
At that point I know which files are in need of importing. Therefore I take that list and compare it against the list of files in that directory. The result is shown in the messagewindow and can be copied to somewhere else if needed. It looks like this:
Code:
Files not imported from path C:\Users\Michael\Desktop\datsville_rev337\datsville.
axis32x.dat - this file is not imported.
building_046_garagesmall.mpd - this file is not imported.
building_047_garagelarge.mpd - this file is not imported.
building_056_warehouselarge.mpd - this file is not imported.
building_063_officebuildingsmall.mpd - this file is not imported.
building_078_redwhitehouse2.ldr - this file is not imported.
datsville.ldr - this file is not imported.
dir_bat.cmd - this file is not imported.
dir_bat.txt - this file is not imported.
gridb32x.dat - this file is not imported.
gridb8x.dat - this file is not imported.
grids32x.dat - this file is not imported.
gridu4x.dat - this file is not imported.
infrastructure_arrowsign.ldr - this file is not imported.
infrastructure_flowers_02.ldr - this file is not imported.
infrastructure_flowers_03.ldr - this file is not imported.
infrastructure_rubblepile.ldr - this file is not imported.
infrastructure_signstoptriple.ldr - this file is not imported.
infrastructure_streetlamp_5.ldr - this file is not imported.
infrastructure_trafficsignal_1.ldr - this file is not imported.
infrastructure_treecoolabah.ldr - this file is not imported.
infrastructure_treegum.ldr - this file is not imported.
infrastructure_warningsign.ldr - this file is not imported.
pedestrian_037_bluefiguresit1.ldr - this file is not imported.
pedestrian_057_citycatbusinessman.ldr - this file is not imported.
pedestrian_058_citycattourist.ldr - this file is not imported.
pedestrian_062_bicyclistredshirt.ldr - this file is not imported.
rail_crossingnogate.ldr - this file is not imported.
rail_splitright.ldr - this file is not imported.
rail_straight.ldr - this file is not imported.
snotroad_curvestripenocross.ldr - this file is not imported.
snotroad_doubleblanknocross.ldr - this file is not imported.
snotroad_doubledash.ldr - this file is not imported.
snotroad_doublestripeleftonly.ldr - this file is not imported.
snotroad_doublestripeleftonlydouble.ldr - this file is not imported.
snotroad_halfstripenocross.ldr - this file is not imported.
snotroad_quadblanknocross.ldr - this file is not imported.
snotroad_tripleblankcross_1.ldr - this file is not imported.
snotroad_tripleblankcross_2.ldr - this file is not imported.
snotroad_tripledotsnocross.ldr - this file is not imported.
vehicle_058_graybicyclewithrider.ldr - this file is not imported.
vehicle_071_cranerailcar.mpd - this file is not imported.

Version is uploaded, so you can test - BETA version!
Reply
Re: MPDCenter - What to do?
#33
Thanks! I will take a look.

[edit]

These two (and possibly others) should not appear in your list:

pedestrian_057_citycatbusinessman.ldr - this file is not imported.
pedestrian_058_citycattourist.ldr - this file is not imported.

Does capitalization matter?
Reply
Re: MPDCenter - What to do?
#34
Michael Heidemann Wrote:
Code:
Also, there needs to be a way to differentiate between sub-models that are *contained* within an MPD file and sub-models that are simply *referenced* within an MPD file.
There is no way at present to give that information and I doubt it will ever be.

Wow! That is surprising.

Michael Heidemann Wrote:
Code:
Lastly, a bug. When you click on the information screen to the right, the selection highlighting disappears in the tree view to the left.
This is not a bug! This is the simple behaviour of applications. You select an item and this item will be highlighted so you know what you are working on. If you just hit the tab key if you are focused on the information (body) textfield the focus will go to the listbox and the formerly selected item is highlighted again, as that was the last user selected item from the list.

Well, take a look at Windows File Explorer for example. You can see the highlighted item in both the tree view and the folder view.
Reply
Re: MPDCenter - What to do?
#35
Code:
Wow! That is surprising.
No it is not. You are looking for a different tool!
Once a file is imported it doesn't matter anyway. The file is part of the mpd!

Code:
Well, take a look at Windows File Explorer for example. You can see the highlighted item in both the tree view and the folder view.
No, I can not see this in my system (win8). What I see is that in the folder tree the item is blue (current focus) and if I switch to the folder content the blue is turned to gray. This is done by the author of the application and not a feature of the programming languange. If you like to have such a feature - we can debate this - this is not a bug!
Reply
Re: MPDCenter - What to do?
#36
As I only check for the filenames as they are provided by the system and for the reference string that is mentioned in the files - I assume yes, it might be because of that.

Edit:
Just checked for the official statements for this issue.
For official files it is clearly case-insensitive (http://www.ldraw.org/article/512.html)
For the fileformat itself nothing is stated (http://www.ldraw.org/article/218.html)

Given that situation it make sense to check the unofficial files with case sensitive comparison because on unix systems there is a difference for these.
Reply
Re: MPDCenter - What to do?
#37
I just tried to tweak the treeview control but so far with no good result.
These kind of operation are often complicate (at least for me).
I can follow both of your ideas and think that they will make MPDCenter more usable.
So please be patient - hopefully I can solve these coding problems. Smile
Reply
Re: MPDCenter - What to do?
#38
Code:
Well, take a look at Windows File Explorer for example. You can see the highlighted item in both the tree view and the folder view.
Stupid me Smile
I got to manage this behaviour. So if the focus is not on the treeview the selected item is still marked with light gray (standard windows behaviour).
Now I look for the possibility to mark the imported items in the treeview.
Reply
Re: MPDCenter - What to do?
#39
I hope your wishes are fulfilled with the last BETA that I just uploaded.

If the treeview control losts the focus the last selected item has now light gray background.

If a file (mpd content or ldr/dat) is _imported_ then the name of that file is written in green letters instead of black.

Please be sure to download the BETA version from MPDCenter homepage.

Happy Christmas Smile

Edit:
I just realized that the colors do not behave like i suggested. I have to work again on this. Sad
Reply
Re: MPDCenter - What to do?
#40
Michael Heidemann Wrote:I hope your wishes are fulfilled with the last BETA that I just uploaded.

If the treeview control losts the focus the last selected item has now light gray background.

If a file (mpd content or ldr/dat) is _imported_ then the name of that file is written in green letters instead of black.

Please be sure to download the BETA version from MPDCenter homepage.

Happy Christmas Smile

Wonderful! I will have to try it when I get home. MPDCenter is crashing when trying to import Datsville on the computer I am using now. (Not enough RAM?)

[edit]

OK, this last time it didn't CTD, but I did get an exception:

Exception Wrote:See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: The path is not of a legal form.
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path)
at MPDCenter.frmMain.ImportUnofficial(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3649 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MPDCenter
Assembly Version: 2.2.0.4
Win32 Version: 2.2.0.4
CodeBase: file:///E:/Program%20Files/LDraw/mpdcenter2.2.0.0/MPDCenter.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3645 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
XMPD
Assembly Version: 2.3.9.0
Win32 Version: 2.3.9.0
CodeBase: file:///E:/Program%20Files/LDraw/mpdcenter2.2.0.0/XMPD.DLL
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3654 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Reply
Re: MPDCenter - What to do?
#41
For your errormessage I have at present no idea why that arises.

The error is generated by the new code to compare the folder content of the file that you loaded and which is the basis of of the import.

Maybe I can find the solution if you tell me more detailed what you have done (step by step) before this error occur. And please check that you can regenerate that error.

Thanks in advance for your help in this case.
Reply
Re: MPDCenter - What to do?
#42
Here's what I did:

1. File > New
2. Import > Import File
3. Navigate to datsville.ldr and select it
4. Import Unofficial Files
5. Wait...

Here are my specs:

System Specs for PC #2 Wrote:Operating System
Windows XP Home Edition 32-bit SP3
CPU
AMD Sempron 3000+
Barton 0.13um Technology
RAM
2.00GB DDR @ 166MHz (2.5-5-3-7)
Motherboard
ASUSTek Computer INC. Kelut (Socket A) 60 °C
Graphics
E182H (1366x768@60Hz)
128MB NVIDIA GeForce4 Ti 4600 (Undefined)
Hard Drives
18.6GB Western Digital WDC WD200BB-75CAA0 (ATA)
75GB Western Digital WDC WD800JB-00JJC0 (ATA) 44 °C
Optical Drives
TSSTcorp CDDVDW SH-S202N
Audio
Realtek AC'97 Audio for VIA Audio Controller

LDView 4.1 - LDView Preset - Quality

building_007_firecompany.mpd 8-10 FPS
building_031_carriagehouse.mpd 12-15 FPS
building_009_miningfacility.mpd 20 FPS
building_052_newspaperoffice.mpd 20 FPS
Reply
Re: MPDCenter - What to do?
#43
Ok, that does not give any clue to me regarding the problem. What I see is that you have 2GB ram and I have 4GB ram, but that should not be the problem. I am going to change the code slightly with more error detection.
Can you repeat the error?
Reply
Re: MPDCenter - What to do?
#44
The main message is: "The path is not of a legal form"
From the calling route I see that it occurs in the following line in my code:
files = IO.Directory.GetFiles(strOriginalPath)
So the variable strOriginalPath needs to contain an odd path.
The path of the current loaded file is set to setOriginalPath with the following line:
strOriginalPath = System.IO.Path.GetDirectoryName(gstrMPDfilePath)
And gstrMPDfilePath is filled with the complete path and filename of the current loaded file!

So please let me have the full path and filename to your loaded datsville file.
Please note that currently all pathes needs to be just normal pathes, no ftp, no network (only by letter), etc.
Reply
Re: MPDCenter - What to do?
#45
Code:
building_007_firecompany.mpd 8-10 FPS
My system works at 27-45 FPS on this file.
So I think your waiting time for importing all files in datsville must be hours Smile
Reply
Re: MPDCenter - What to do?
#46
I get the same error with the new version I think.

error Wrote:See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: The path is not of a legal form.
at System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
at System.IO.Path.NormalizePath(String path, Boolean fullCheck)
at System.IO.Path.GetFullPathInternal(String path)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path)
at MPDCenter.frmMain.ImportUnofficial(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3649 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MPDCenter
Assembly Version: 2.2.0.4
Win32 Version: 2.2.0.4
CodeBase: file:///E:/Program%20Files/LDraw/mpdcenter2.2.0.0/MPDCenter.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3645 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3644 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
XMPD
Assembly Version: 2.3.9.0
Win32 Version: 2.3.9.0
CodeBase: file:///E:/Program%20Files/LDraw/mpdcenter2.2.0.0/XMPD.DLL
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.3654 (GDR.050727-3600)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Reply
Re: MPDCenter - What to do?
#47
The full path is:

E:\LDraw\datsville\svn\trunk\datsville\datsville.ldr
Reply
Re: MPDCenter - What to do?
#48
Yes, it can take ~10 minutes sometimes to import them all.

My computer in my apartment is newer though and gets about 5 times more FPS.
Reply
Re: MPDCenter - What to do?
#49
I really have no idea what reason for this error is! This path is just fine.

I just uploaded a new build and please let me know what behaviour this will have.

I added a try around the zone where I expect the error to happen and if an error is catched a messagebox should open with the title: "Error in Import Unofficial Files".

If you hit then ok the normal import windows should open and tell you the path that did not work - hopefully.

Please let me know the result.
Reply
Re: MPDCenter - What to do?
#50
I could raise the same error here if the path is an empty string!

I do not know how this can happen, but I will:
1) catch the error and ask the user to tell which directory to compare.
2) analyze the code to detect where the empty path is written to the variable.

Edit:
I found the reason read here.
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 11 Guest(s)