LDraw.org Discussion Forums
LDView 4.2 Beta 1 Released - Printable Version

+- LDraw.org Discussion Forums (https://forums.ldraw.org)
+-- Forum: LDraw Programs (https://forums.ldraw.org/forum-7.html)
+--- Forum: LDraw Editors and Viewers (https://forums.ldraw.org/forum-11.html)
+--- Thread: LDView 4.2 Beta 1 Released (/thread-4278.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

Hello Travis, after installing the new version, my Explorer Thumbnails feature does not work anymore on my Win7/64bit.

I'd like to ask if you could add the involved registry keys to the documentation Help.html, please:
Code:
REGEDIT4

; ---------------------------------------------------------------------------------------------------
; register CLSID FA993BF4-40AF-49C1-BD0B-035A275757C1 for file types .dat, .ldr, .mpd
; ---------------------------------------------------------------------------------------------------

[HKEY_CLASSES_ROOT\.dat\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{FA993BF4-40AF-49C1-BD0B-035A275757C1}"

[HKEY_CLASSES_ROOT\.ldr\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{FA993BF4-40AF-49C1-BD0B-035A275757C1}"

[HKEY_CLASSES_ROOT\.mpd\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{FA993BF4-40AF-49C1-BD0B-035A275757C1}"

; ---------------------------------------------------------------------------------------------------
; 64bit CLSID --> LDViewThumbs64.dll
; ---------------------------------------------------------------------------------------------------

[HKEY_CLASSES_ROOT\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}]
@="LDViewThumbExtractor Class"

[HKEY_CLASSES_ROOT\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\InprocServer32]
@="C:\\some\\folder\\name\\LDView\\LDViewThumbs64.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\ProgID]
@="LDViewThumbs.LDViewThumbExtractor.1"

[HKEY_CLASSES_ROOT\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\TypeLib]
@="{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}"

[HKEY_CLASSES_ROOT\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\VersionIndependentProgID]
@="LDViewThumbs.LDViewThumbExtractor"

; ---------------------------------------------------------------------------------------------------
; 64bit TypeLib --> LDViewThumbs64.dll
; ---------------------------------------------------------------------------------------------------

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}]

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0]
@="LDViewThumbs 1.0 Type Library"

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0\0]

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0\0\win32]
@="C:\\some\\folder\\name\\LDView\\LDViewThumbs64.dll"

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0\FLAGS]
@="0"

[HKEY_CLASSES_ROOT\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0\HELPDIR]
@=""

; ---------------------------------------------------------------------------------------------------
; 32bit CLSID --> LDViewThumbs.dll
; ---------------------------------------------------------------------------------------------------

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}]
@="LDViewThumbExtractor Class"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\InprocServer32]
@="C:\\some\\folder\\name\\LDView\\LDViewThumbs.dll"
"ThreadingModel"="Apartment"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\ProgID]
@="LDViewThumbs.LDViewThumbExtractor.1"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\TypeLib]
@="{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}"

[HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{FA993BF4-40AF-49C1-BD0B-035A275757C1}\VersionIndependentProgID]
@="LDViewThumbs.LDViewThumbExtractor"

; ---------------------------------------------------------------------------------------------------
; 32bit TypeLib --> LDViewThumbs.dll
; ---------------------------------------------------------------------------------------------------

; [HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\...]
; will not be set here, because those settings are automatically replicated from [HKEY_CLASSES_ROOT\TypeLib\...]

; ----------------------------------------------------------
; LDViewThumbs.LDViewThumbExtractor
; ----------------------------------------------------------

[HKEY_CLASSES_ROOT\LDViewThumbs.LDViewThumbExtractor]
@="LDViewThumbExtractor Class"

[HKEY_CLASSES_ROOT\LDViewThumbs.LDViewThumbExtractor\CLSID]
@="{FA993BF4-40AF-49C1-BD0B-035A275757C1}"

[HKEY_CLASSES_ROOT\LDViewThumbs.LDViewThumbExtractor\CurVer]
@="LDViewThumbs.LDViewThumbExtractor.1"

; ----------------------------------------------------------
; LDViewThumbs.LDViewThumbExtractor.1
; ----------------------------------------------------------

[HKEY_CLASSES_ROOT\LDViewThumbs.LDViewThumbExtractor.1]
@="LDViewThumbExtractor Class"

[HKEY_CLASSES_ROOT\LDViewThumbs.LDViewThumbExtractor.1\CLSID]
@="{FA993BF4-40AF-49C1-BD0B-035A275757C1}"

(i)
Did I forget some?

(ii)
I've installed the 64bit version, i.e., LDView64.exe, LDViewThumbs.dll, LDViewThumbs64.dll.
Thus, I don't have LDView.exe. Is maybe LDView.exe missing? Or does LDViewThumbs.dll also use LDView64.exe?

(iii)
Do I have to run some regsvr command or similar to re-register these DLLs?

(iv)
Travis, at the above registry keys dump I spotted that
HKEY_CLASSES_ROOT\Wow6432Node\TypeLib\{9FB564E8-0F22-48FE-859C-372B4A8B1CFB}\1.0\0\win32
points to the 64bit library, although it sits inside the 32bit registry branch.
According to http://msdn.microsoft.com/en-us/library/aa384253(v=vs.85).aspx,
this is behaviour by design. But this leads to the effect that 32bit applications get the 64bit DLL this way.
According to http://social.msdn.microsoft.com/Forums/en-US/csharpide/thread/0dba0624-b3ee-4caf-95bd-cc090dbde68b/
, this can be a problem.



Still, thumbnails do not work here anymore :-(
I reinstalled the 64bit LDView version, and tried running both the
32bit Explorer.exe from C:\Windows\SysWOW64\Explorer.exe
64bit Explorer.exe from C:\Windows\Explorer.exe

Ideas or help, anybody?


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

(A)
Travis, I was able to solve the problem:
I had to copy LDView64.exe to LDView.exe.
Then the thumbnails reappeared magically. As the chain of invocation now here is
Explorer.exe (64bit) ------> LDViewThumbs64.dll ------> LDView.exe
, I therefore conclude that LDViewThumbs64.dll erroneously tries to access LDView.exe instead of LDView64.exe.
Do you agree?

(B)
Another problem: 32bit applications (for example, MLCad.exe) do _show_ the thumbnails now,
but they do not _generate_ them. As I have LDViewThumbs.dll sitting around
on my system, I had thought it would spawn LDView64.exe (on 64bit systems), and LDView.exe (on 32bit systems)
to generate them. However, it does not. I have 2 suspicions why it does not work:
- as we saw in (A), LDViewThumbs64.dll does not spawn LDView64.exe, but LDView.exe erroneously, thus, I suspect that LDViewThumbs.dll vice versa tries to spawn LDView64.exe and fails
- or, the problem could get caused by the TypeLib registry setting, which, even for 32bit processes, still points to the 64bit DLL (see above)
As a solution, I suggest that you use separate CLSID and TypeLib identifiers for 32bit and 64bit.
The current re-using of them adds much confusion. Tracing down errors would be much easier that way.

©
Travis, I also spotted a problem with the registry keys where you store the pathes for the additional files
(Dir001, Dir002, Dir003 and so on). Note that all instances of them (in the current configuration, in the
presets, and in the screensaver) are affected:
when you edit their list via the GUI, i.e., you add some and then you remove some,
in the registry relicts remain. For example, my editing in the GUI was to first setup 4 pathes,
then again delete some to just have one. What resulted in the registry was that settings
Dir001, Dir003, Dir004 (but no Dir002) were present.
I think that this can lead to the effect that when a user then again adds a second path via the GUI, this will create a Dir002,
and then after restarting LDView, suddenly 4 pathes will be present, because the gap is closed.
Could you check that code?


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

Problem (A) still exists.

Problem (B) was an error on my side. During my many tries, I had hidden file LDViewThumbs.dll erroneously.

Problem © still exists.


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

Hello Travis,

POVRay 3.7 or higher will issue a warning when the first statement in a .pov scene is not #version.
Future versions will make that setting mandatory.
This will allow POVRay to parse .pov files of older syntax, according to
http://www.povray.org/documentation/view/3.6.1/240/

Thus I'm asking to extend the .pov file output of LDView
by that first line, stating the POVRay syntax version which the output is in,
so it should probably be, as I assume:
#version 3.5;

I additionally noticed, that from version 3.7 on, each .pov file seems to have to contain a
global_settings { assumed_gamma 2.2 }
(or use a different number) statement as well, otherwise will trigger a warning,
so we should add that statement as well I think...
http://www.povray.org/beta/
http://www.povray.org/documentation/view/3.6.1/260/

- Steffen


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

Travis, would it also be possible to increase the maximum zoom level of LDView
from currently 199 to 1000?
I find myself frequently annoyed by that limit,
and just now have found the "hidden" registry key / command line option to raise it to 1000...


Re: LDView 4.2 Beta 1 Released - Travis Cobbs - 2012-04-14

(A): You are correct. This is a bug that I missed in my testing due to having LDView.exe present. I will fix it.

©: Thanks. I'll fix this.


Re: LDView 4.2 Beta 1 Released - Travis Cobbs - 2012-04-14

Thanks. I will verify your findings and update accordingly.


Re: LDView 4.2 Beta 1 Released - Travis Cobbs - 2012-04-14

The default value of 199 is specifically designed to prevent you from ever winding up "inside" the model. Any value above that results in weird rendering artifacts when you zoom in until you're inside. However, since fly-through mode produces the same weird rendering artifacts, there's definitely an argument for having it in the UI. I'll definitely consider it.


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

I just figured that the gamma setting probably should become one of the POVRay export options in LDView,
and not hardcoded...


Re: LDView 4.2 Beta 1 Released - Steffen - 2012-04-14

As always, I greatly appreciate your quick responses in such issues.
LDview is a really, really great piece of software.