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
#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
#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: 0)
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
#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?
#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 - 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?
#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?
#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?
#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?
#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?
#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?
#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?
#51
Now I know what happened!

Code:
1. File > New
2. Import > Import File
3. Navigate to datsville.ldr and select it

By using this way the folder for the xmpd content is not set!
If you just open datsville.ldr (or drop it from the explorer or open it by command line) all will be fine.

So your way to work wasn't in my mind as I code it. Now with the extra window for localizing the project path all is fine also with your way Smile

I will just rewrite the code a little bit and upload the new beta later today.
Until then just open datsville.ldr and do not import it Smile
Reply
Re: MPDCenter - What to do?
#52
New build is online and can be downloaded here (it's now 2.2.0.6).

Changes i made:
1) color adjustment for selected, not selected, focused, imported etc. items in the treeview.
2) If no project path is known the user is asked if necessary for that folder.

Hopefully you can enjoy now Smile
Reply
Re: MPDCenter - What to do?
#53
I'm at my apartment now so I can't test the new version on the same computer. Sad
Reply
Re: MPDCenter - What to do?
#54
You do not need the same computer, as the error occured by different use Smile
Reply
Re: MPDCenter - What to do?
#55
OK I tried twice and will try again later.

1. The first time I tried, the program stalled and did nothing for 30mins except for the little yellow propeller spinning.
2. The second time it finished rather quickly (5-10 mins) and was successful. However, the program also spawned a child window asking me to select a file folder in a folder tree. I ignored this because I didn't know what it was for. I don't know if it was important or not.

I will try again now.
Reply
Re: MPDCenter - What to do?
#56
Code:
2. The second time it finished rather quickly (5-10 mins) and was successful. However, the program also spawned a child window asking me to select a file folder in a folder tree. I ignored this because I didn't know what it was for. I don't know if it was important or not.
If you have the latest build tested, the window tells you why you should select a folder. If you do not select a "project base folder" then you get no answer to the question which files from that folder are _not_ importet.

Depending on the size of your project and the speed of your system it can take quite a while to finish the process. But also it might be that you ignored (or did not see) another window where you are asked to give an answer (if a file could not be find automatically). As long as the propellor rotates the programm works Smile
Reply
Re: MPDCenter - What to do?
#57
You are right. I missed the popup dialog and the program was waiting forever as a result.

OK what do I do now that it is working?
Reply
Re: MPDCenter - What to do?
#58
I don't know? Go and drink a cup of tea Smile

Mike I really do not know what you expect from me as an answer.

MPDCenter is a tool that might help you at the work you are doing. You already asked for several new functions and behaviour. That all is build in now. So the real question is what you want to do!

The more detailed you can answer this question, the more help you can get.

MPDCenter answers f.e.
1) Which files are not in the correct place to be loaded correctly on any system (unofficial files f.e.)
2) Your question which files are not yet refered by datsville.ldr but in the datsville folder
3) which author have contributed so far for this project.

You can not _build_ in MPDCenter but check your result.
Reply
Re: MPDCenter - What to do?
#59
Michael Heidemann Wrote:1) Which files are not in the correct place to be loaded correctly on any system (unofficial files f.e.)

I'm not sure I understand. What is this supposed to mean?

Michael Heidemann Wrote:2) Your question which files are not yet refered by datsville.ldr but in the datsville folder

Could you remind me how to do this? I know you generated such a list for me, but I don't recall how to do it myself.

Thanks.


Mike
Reply
Re: MPDCenter - What to do?
#60
http://forums.ldraw.org/showthread.php?t...3#pid11323
Reply
Re: MPDCenter - What to do?
#61
I wanted to know which command to use. No need now, as I've figured it out on my own.
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?
#47
The full path is:

E:\LDraw\datsville\svn\trunk\datsville\datsville.ldr
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
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?
#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?
#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
MPDCenter 2.3.0.0 - new version
#62
MPDCenter 2.3.0.0 is out now.

Some nice features are added, based on the wish of the users.

1)
You can create an inventory listing like in LDView, but the pictures will be rendered with LDView.
Edit: added a How to for this feature.

2)
You can convert l3b files that contains groups into a mpd file, where the groups are converted to submodels.
Edit: added a How to for this feature.

3) You can add mpd files into one file, that our current tools can read and show like normal mpd files. This is the main feature of MPDCenter and is now full working. With this feature you can add your collection of models (ldr files and/or mpd files) into one xmpd file. If you open this xmpd file in MLCad you can work on this just as on every other mpd model. If you want to be able to split this xmpd file later into its former mpd/ldr files please be sure not to change the names of the files in the xmpd file.
But you can create new scenes where all your models are in one scene. To be able to give your work to any other LDraw user you also only need one click to import all unofficial files into the xmpd file, so there is never a piece missing.

Enjoy.

cu
Mike


Attached Files
.pdf   MPDC How to create an inventory.pdf (Size: 297.08 KB / Downloads: 0)
.pdf   MPDC How to convert l3b to mpd.pdf (Size: 160.43 KB / Downloads: 0)
Reply
Re: MPDCenter 2.3.0.0 - new version
#63
Thanks a lot for the SR3D conversion feature. I'm sure that will be used a lot by me in the future. I'll try it out today.
Thanks!
Reply
MPDCenter 2.3.1.0 - new version
#69
I have just released version 2.3.1.0 of MPDCenter.

Philo detected that in the conversion process from l3b files with groups, if the groups are not filled with content, MPDCenter crashes. This behaviour is now corrected.

You can download the current version as usual from MPDCenter homepage.
Reply
Re: MPDCenter 2.3.1.0 - How to's
#70
Here I add some more "How to's" for MPDCenter. I hope it is useful for you:

How to setup MPDCenter properly
How to import unofficial files
How to extract a model from an mpd-file into a new mpd-file

More to come in the future.


Attached Files
.pdf   MPDC How to extract a model from a mpd-file into a new mpd-file.pdf (Size: 45.05 KB / Downloads: 0)
.pdf   MPDC How to import unofficial files.pdf (Size: 71.83 KB / Downloads: 0)
.pdf   MPDC How to setup MPDCenter properly.pdf (Size: 316.15 KB / Downloads: 0)
Reply
Re: MPDCenter 2.3.1.0 - How to's
#71
The links embedded in the text doesn't work. Fortunately the ones provided by forum are OK...
Reply
Re: MPDCenter 2.3.1.0 - How to's
#72
Now fixed. Thank's for mentioning.
Reply
Re: MPDCenter 2.3.1.0 - How to's
#73
Update with example for:

How to extract a model from an mpd-file into a new mpd-file


Attached Files
.pdf   MPDC How to extract a model from a mpd-file into a new mpd-file.pdf (Size: 276.82 KB / Downloads: 0)
Reply
Re: MPDCenter
#64
I would like to download the newest mpdcenter, but the download link doesn't work.
Reply
Re: MPDCenter
#65
http://ldraw.heidemann.org/index.php?page=mpdcenter

works fine for me

w.
LEGO ergo sum
Reply
Re: MPDCenter
#66
Yes, that page loads fine, but the link to the actual file doesn't work. It links to this:
http://ldraw.heidemann.org/%5BRequired%2...%20name%5D
Reply
Re: MPDCenter
#67
The web page works; the download link on the page is broken.
Reply
Re: MPDCenter
#68
Uhhh..... please excuse that error by me.
Just noted my mistake.
Now I have fixed the download link for the zip file and it should work fine now (at least on my system I could download).
Reply
MPDCenter 2.3.3.0 - Bugfix version
#74
I just released a new bugfix version of MPDCenter.
The inventory did not count the used parts correctly. This is now fixed.

Please download the new version from the MPDCenter Homepage
Reply
RE: MPDCenter
#75
I was able to create an XMPD file using this program. How do I save/export it as just an MPD file? Is there a difference? Thanks.

[edit]

Generating the XMPD file from Datsville took several minutes. Converting the XMPD file to a single inlined LDR file is now taking several hours. It is not done yet. Sad I don't see the propeller animation either. According to Windows the program is "Not Responding".

[edit]

Okay, it completed. But it took over 24 hours.
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 1 Guest(s)
Forum Jump:


Users browsing this thread: 1 Guest(s)