title
Products            Buy            Support Forum            Professional            About            Codec Central
 

Bug: dMCScripting.Converter COM interface broken in R17.0

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Gwennie

    • Feb 2020
    • 7

    Bug: dMCScripting.Converter COM interface broken in R17.0

    Just a heads-up - the dMCScripting.Converter COM object can't be instantiated in version R17.0.

    Tested on a couple of machines running Windows 10, including a freshly-installed virtual machine. Worked fine on previous versions of dBpoweramp.

    Code:
    Retrieving the COM class factory for component with CLSID {1C2E0932-61B5-4EAB-A832-06EE6564047D} failed due to the following error: 800700b6 The operating system cannot run . (Exception from HRESULT: 0x800700B6).
  • Spoon
    Administrator
    • Apr 2002
    • 44575

    #2
    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

    If you open a command prompt and change into the folder where dBpoweramp is installed then type:

    regsvr32 dmcscripting.dll

    What message is shown?
    Spoon
    www.dbpoweramp.com

    Comment

    • Gwennie

      • Feb 2020
      • 7

      #3
      Re: Bug: dMCScripting.Converter COM interface broken in R17.0

      Hi Spoon -

      Originally posted by Spoon
      regsvr32 dmcscripting.dll
      It (re-)registers successfully, but the class was already registered in the first place - that's not the problem.

      Can you reproduce? (Quick test in PowerShell - New-Object -ComObject dMCScripting.Converter)

      I should have mentioned in my first post - .NET ultimately throws System.BadImageFormatException. I followed a hunch and tested on both x64 and x86, but the problem's present on both.

      Cheers

      Comment

      • Michael Sargent
        dBpoweramp Enthusiast

        • Dec 2009
        • 135

        #4
        Re: Bug: dMCScripting.Converter COM interface broken in R17.0

        I ran into the same problem. When I run it under the debugger, I get a message box that says:

        Click image for larger version

Name:	Ordinal Not Found.png
Views:	1
Size:	9.5 KB
ID:	294240

        (In case the image doesn't come through...)

        WmpWia.exe - Ordinal Not Found

        The ordinal 381 could not be located in the dynamic link library
        C:\Program Files\dBpoweramp\dMCScripting.dll

        OK

        I tried removing and re-adding the reference a couple of different ways. Same result in all cases.

        Hope this helps,
        Mike

        Comment

        • Spoon
          Administrator
          • Apr 2002
          • 44575

          #5
          Re: Bug: dMCScripting.Converter COM interface broken in R17.0

          Download, unzip and replace the dMCScripting.dll:



          Note this is the 64 bit version of the DLL.
          Spoon
          www.dbpoweramp.com

          Comment

          • Gwennie

            • Feb 2020
            • 7

            #6
            Re: Bug: dMCScripting.Converter COM interface broken in R17.0

            Originally posted by Spoon
            Download, unzip and replace the dMCScripting.dll
            Confirmed fixed!

            Nice job - thanks mate.

            Comment

            • Michael Sargent
              dBpoweramp Enthusiast

              • Dec 2009
              • 135

              #7
              Re: Bug: dMCScripting.Converter COM interface broken in R17.0

              That fixed it.

              Thanks for the incredibly fast fix.

              Mike

              Comment

              • hvaleton

                • Oct 2010
                • 9

                #8
                Re: Bug: dMCScripting.Converter COM interface broken in R17.0

                Hi, Spoon,

                I'm having a slightly different problem.
                Running a standalone script containing a reference to the dMCScripting.Converter object runs without problems.
                I created a .VBS script named dMC_Test.vbs containing the following code:
                Code:
                ' create shell object
                Set WshShell = CreateObject("WScript.Shell")
                
                ' Create dMC Object
                Set dMC = CreateObject("dMCScripting.Converter")
                
                ' Read All IDTags
                For i = 0 To 10000
                 Dim ElementValue
                 ElementValue = dMC.ReadIDTagElementValue("M:\1_KLAS\ZZ_Verzamel\Pianotrio\Gál, Shostakovich - Piano Trios (Briggs Piano Trio 2018)\01 Piano Trio in E major, Op. 18_ I. Tranquillo ma con moto.flac", i)
                 If ElementValue = "" Then Exit For
                 Call WshShell.Popup(ElementValue, , "Read Tag", 0)
                Next
                And then I ran the following command from the command box:
                Code:
                Program Files\dBpoweramp>cscript C:\users\hans\dmc_test.vbs
                This resulted in a number of pop-ups showing the name and content of all tags in the flac file.
                So far so good.

                But when I call the following piece of code from a VBS script that I start from within MediaMonkey
                Code:
                ' create shell object
                Set WshShell = CreateObject("WScript.Shell")
                ' Create dMC Object
                Set dMC = CreateObject("dMCScripting.Converter")
                
                ' Read All IDTags
                For i = 0 To 10000
                 Dim ElementValue
                 ElementValue = dMC.ReadIDTagElementValue("M:\1_KLAS\ZZ_Verzamel\Pianotrio\Gál, Shostakovich - Piano Trios (Briggs Piano Trio 2018)\01 Piano Trio in E major, Op. 18_ I. Tranquillo ma con moto.flac", i)
                 If ElementValue = "" Then Exit For
                 MsgBox ElementValue
                Next
                I consistently get the error
                Click image for larger version

Name:	dMC_error.JPG
Views:	1
Size:	25.8 KB
ID:	294268
                Sorry for the Dutch language error message, but translated roughly it says:
                ActiveX component can't create the object 'dMCScripting.Converter'
                What am I doing wrong, here? Is this maybe a case of 32 vs. 64 bit? Or something completely different?

                Comment

                • Spoon
                  Administrator
                  • Apr 2002
                  • 44575

                  #9
                  Re: Bug: dMCScripting.Converter COM interface broken in R17.0

                  It is likely Media Monkey does not have permissions to create activeX objects, or run the script.

                  Media Monkey is 64 bit?
                  Spoon
                  www.dbpoweramp.com

                  Comment

                  • hvaleton

                    • Oct 2010
                    • 9

                    #10
                    Re: Bug: dMCScripting.Converter COM interface broken in R17.0

                    Hi Spoon, thanks for your reaction

                    10 years ago at least one person used this method successfully in a MediaMonkey script, see here, so I know it must be possible.

                    I'm a little bit surprised to find that my MediaMonkey runs in 32bit mode, if I can believe the task manager:
                    Click image for larger version

Name:	MediaMonkey 32 bits.JPG
Views:	2
Size:	20.8 KB
ID:	294271
                    My Windows 10 installation works in 64bit architecture, so I always thought MediaMonkey would also run as 64bit. Maybe I should investigate this further...

                    Question: is it absolutely impossible for a 32bit applicationto call the dMCScripting.Converter object? Are there workarounds? Or should I simply try and get a 64bit version of MM?

                    Thanks in advance!
                    Regards, Hans Valeton

                    Comment

                    • hvaleton

                      • Oct 2010
                      • 9

                      #11
                      Re: Bug: dMCScripting.Converter COM interface broken in R17.0

                      Thanks for your reply, Spoon,

                      There has been at least one other person who tried to do this from within MediaMonkey and succeeded, as can be read here Seeing this was 10 years ago, he probably ran a 32 bit version of dBpoweramp?

                      My Mediamonkey runs in 32bit mode. It appears there never was and never will be a 64bit version.
                      Click image for larger version

Name:	MediaMonkey 32 bits.JPG
Views:	2
Size:	20.8 KB
ID:	294272

                      Is it possible to download a 32bit version of the dmCScripting.Converter object? And would that solve my problem?

                      Thanks in advance!
                      Regards,Hans Valeton

                      Comment

                      • Spoon
                        Administrator
                        • Apr 2002
                        • 44575

                        #12
                        Re: Bug: dMCScripting.Converter COM interface broken in R17.0

                        We have never tested 32 bit calling 64 bit. It is not possible to have a 32 bit scripting in 64 bit Windows.
                        Spoon
                        www.dbpoweramp.com

                        Comment

                        Working...

                        ]]>